Tabelle erzeugen
Chugworth
- php
Halli Hallo zusammen :)
Ich will eine Tabelle erzeugen lassen, in der Bilder angezeigt werden. Da es über 140 Bilder sind, habe ich keine Lust, das alles per Hand einzutipseln.
Die Bilder sind durchnummeriert von (1) bis (150). Ich hab grad voll ne Blockade im Kopf, aber ich möchte behaupten, dass ich eine Schleife in einer Schleife brauche. Die Tabelle soll 24 Spalten haben, nicht breiter... aber wie sagt man, dass ein neuer <tr> angefangen werden soll :(
Also mein Quellcode sieht momentan so aus:
<table>
<tr>
<?php
$i=0;
while($i<=24)
{
$i++;
echo '<td><img src="pics/bild('.$i.').png"></td>';
}
</tr>
</table>
Thx schonma, Chuggi
Hallo Chugworth,
Erstelle ein Array aus den Bild-URLs, deklariere eine Zählervariable, gehe mit foreach das Bild-Array durch, bei jedem Durchlauf dieser Schleife zählt die Zählervariable hoch. Hat sie den Wert 1, wird ein '<tr><td>' ausgegeben, hat sie den Wert 24, wird ein '</td></tr>' ausgegeben, sonst jeweils nur ein '<td>' bzw. '</td>'.
Beste Grüße
Richard
Hallo Richard,
[...] bei jedem Durchlauf dieser Schleife zählt die Zählervariable hoch. Hat sie den Wert 1, wird ein '<tr><td>' ausgegeben, hat sie den Wert 24, wird ein '</td></tr>' ausgegeben, sonst jeweils nur ein '<td>' bzw. '</td>'.
Hat die Variable den Wert 24 erreicht, wird sie zusätzlich auf 0 zurückgesetzt.
Beste Grüße
Richard
hi,
Ich hab grad voll ne Blockade im Kopf, aber ich möchte behaupten, dass ich eine Schleife in einer Schleife brauche.
Nicht unbedingt.
Wenn du einen fortlaufenden Zähler hast, kannst du über den Modulo-Operator auch ganz einfach bestimmen, ob du ein Vielfaches von x erreicht hast.
Die Tabelle soll 24 Spalten haben, nicht breiter... aber wie sagt man, dass ein neuer <tr> angefangen werden soll :(
Tja, per echo '</tr><tr>' vielleicht?
gruß,
wahsaga
Hi,
Die Bilder sind durchnummeriert von (1) bis (150). [...] Die Tabelle soll 24 Spalten haben,
na, dann sind es doch eher Bildgruppen von (1) bis (6), in denen jeweils exakt 24 Bilder stehen, oder? Ansonsten kann ich mir nicht vorstellen, dass es sich bei diesen Bildern um tabellarische Daten handelt, wodurch der Einsatz einer Tabelle eh wegfällt. Handelt es sich nicht um derartige Gruppen - also Datensätze - so ist es doch eher eine Liste, also ein <ul> oder <ol>.
Cheatah
Moin,
Versuche doch mal Folgendes, ich glaube Richard hatte diese Lösung auch angedeutet.
<table>
<tr>
<?php
$i=0;
while($i<=150)
{
$i++;
echo '<td><img src="pics/bild('.$i.').png"></td>';
if($i%24 == 0) { echo '</tr><tr>';}
}
?>
</tr>
</table>
Das stammt aus nem eigenen Script von mir, ich habe aber ehrlich gesagt keine Ahnung, warum das so klappt... Ich hatte mir an dem Problem damals fast das Hirn zermartert, bis mir mal irgendwer gesagt hat, das ginge mit so nem %-Zeichen.
Grüße aus Hamburg
Michel