Tabelle mit PHP erzeugen
Christian
- php
Hallo!
Ich habe eine Gallerie aufgebaut, in der die Bilder in einer Tabelle angeordnet sind. Die Bilder sind durchnummeriert und wie man im Quelltext sehen kann sind sie immer ein link zu einen PopUp in dem die Bilder angezeigt werden.
<tr>
<td id="bild"><a href="javascript:bilder ('bilder.php?nr=0001')"><div align="center"><img src="Bilder/Thumbnails/TN0001.jpg" id="b"></div></a></td>
<td id="bild"><a href="javascript:bilder ('bilder.php?nr=0002')"><div align="center"><img src="Bilder/Thumbnails/TN0002.jpg" id="b"></div></a></td>
.....
</tr>
<tr>
<td id="bild"><a href="javascript:bilder ('bilder.php?nr=0005')"><div align="center"><img src="Bilder/Thumbnails/TN0005.jpg" id="b"></div></a></td>
.....
</tr>
Nun habe ich den Quelltext einfach so geschrieben, gibt es aber mit PHP eine Möglichkeit nur die Anzahl der Bilder anzugeben, so dass dann automatisch die Gallerie erzeugt wird? Es muss jeweils nur die Nummer um eins erhöht werden. Außerdem soll nach einer bestimmten Anzahl von Bildern einen neue Zeile begonnen werden.
Kann mir jemand helfen auf eine entsprechende Funktion zu kommen??
Danke,
Christian
Hallo Christian!
for()
Grüße, Matze
Hallo nochmal,
for()
do{}while
while()
gehen auch.
Ich würde in deinem Fall auch verschachteln
um Spalten zu erzeugen.
Grüße, Matze
Hallo Matze,
Danke für deine Antwort, leider sagt sie mir nicht wirklich etwas, weil meine PHP-Kenntnisse viel zu gering sind. Könntest du vielleicht deinen Vorschlag ein wenig erläutern???
MfG,
Christian
Auf die schnelle gesagt so.
<tabelle>
<?PHP
for($a=1,$a<4,$a++){
?>
<zeile>
<?PHP
for($b=1,$b<4,$b++){
?>
<spalte>Inhalt</spalte>
<?PHP
}
?>
</zeile>
<?PHP
}
?>
</tabelle>
Erzeugt eine Tabelle 3x3
Habden Code jetzt aber nicht probiert.
Auf den Rest solltest du selbst kommen oder dich
erstmal auf einschlägigen PHP Seiten informieren.
Ich empfehl dir php.net (auch deutsch)
Grüße, Matze
Hi,
<tabelle>
<?PHP
for($a=1,$a<4,$a++){
?>
<zeile>
<?PHP
for($b=1,$b<4,$b++){
?>
<spalte>Inhalt</spalte>
<?PHP
}
?>
</zeile>
<?PHP
}
?>
</tabelle>
Das ist sehr unflexibel. Geschickter ist es einfach durch alle Bilder zu loopen und per Modulo an den richtigen Stellen ein ein /tr tr einfügen. Am Loopende füllst Du - entsprechend des gewaehlten Modulowertes - mit Leerzellen auf. Eine solche Galerie ist allerdings - wie gesagt - kein Fall fuer eine Tabelle.
Gruesse, Joachim
Hallo,
danke für eure Antworten.
Was spricht denn dagegen, eine Galerie in einer Tabelle zu formatieren?
Christian
Hi,
Was spricht denn dagegen, eine Galerie in einer Tabelle zu formatieren?
Eine Galerie enthaelt i.d.R. eine Liste von Bildern - keine tabellarische Daten. Dank moderner Browser mit entsprechenden Css-Fähigkeiten ist eine solche Zweckentfremdung von Tabellen zu Layoutzwecken in den meisten Fällen unnötig. Vielleicht solltest Du Dich etwas mehr mit zeitgemässer Webseiten-Architektur auseinandersetzen, Stichwort: schlanker Code und Barrierefreiheit. Das Archiv ist übervoll mit diesem Themen.
Gruesse, Joachim
Hallo Joachim!
Ich weiß dass das nicht die Ideallösung ist, aber danach hatte er gefragt.
Im übrigen kommen statt der "," ";" hin.
@Christian: Im Moment bist du aber wirklich mit CSS besser beraten.
Früher oder später musst du es eh lernen wenn du dich mit HTML beschäftigst.
Grüße, Matze
hallo,
Ich habe eine Gallerie aufgebaut
Nein, das hast du nicht, weil es so etwas laut Duden nicht gibt. Was es geben könnte, wäre eine "Galerie", und wenn du unbedingt ein englisches Wort dafür brauchst, wäre es eine "gallery".
<td id="bild"><a href="javascript:bilder ('bilder.php?nr=0001')"><div align="center"><img src="Bilder/Thumbnails/TN0001.jpg" id="b"></div></a></td>
Das ist ziemlich sehr gräßlich. <a href="javascript ..."> sollest du niemals so benutzen wollen. Korrekt wäre:
<a href="bildadresse" onclick="bilder(...)">
Und vollends überflüssig ist dein DIV innerhalb von <a>, das brauchst du garantiert nicht.
Nun habe ich den Quelltext einfach so geschrieben
Und nicht geprüft. Frage mal bitte den Validator.
gibt es aber mit PHP eine Möglichkeit nur die Anzahl der Bilder anzugeben, so dass dann automatisch die Gallerie erzeugt wird?
PHP kann keine "Gallerie" erzeugen, siehe oben. Was du tun könntest, wäre, einen Array zu benutzen. Aber du willst ja sowieso nicht PHP benutzen, sondern machst die Anzeige deiner Bilder von Javascript abhängig. Für Javascript gibt es genau für solche Sachen ein Beispiel in SELFHTML, das dir bestimmt gut bekannt ist. Du brauchst es dir bloß für deine Bedürfnisse umzustellen.
Und eine Tabelle brauchst du eigentlich auch nicht.
Grüße aus Berlin
Christoph S.
Hi,
<td id="bild"><a href="javascript:bilder ('bilder.php?nr=0001')"><div align="center"><img src="Bilder/Thumbnails/TN0001.jpg" id="b"></div></a></td>
Nicht gut.
Ins href solltest Du ein Alternativlink direkt auf die Grafik setzen, den Aufruf ins onclick, gefolgt von einem return false (siehe Archiv warum). Weiterhin ist diese Tabellenverschachtelei absolut überflüssig.
Man kann es mit Css z.B.: so lösen http://joachim.wendenburg.de/index.php?dir=schnee wobei ich zu meiner Schande gestehen muss, dass bei meinem Beispiel eine Liste besser waere, bin nur zu faul zum Umbauen. Diese liesse sich aber mit float und clear genauso formatieren.
Außerdem soll nach einer bestimmten Anzahl von Bildern einen neue Zeile begonnen werden.
Nutze modulo "%".
Gruesse, Joachim