Seite 1 von 2
drei bilder pro zeile
Verfasst: 01.12.2005 17:18
von Jack9027
hi,
ich lese mithilfe einer while schleife ein bild nach dem anderen ein.
jetzt sollen immer drei bilder in einer zeile stehen, also
Code: Alles auswählen
<tr>
<td>bild1</td>
<td>bild2</td>
<td>bild3</td>
</tr>
<tr>
<td>bild4</td>
<td>bild5</td>
<td>bild6</td>
</tr>
...
bei mir kommt da immer total gefrickelter code raus

, deswegen möchte ich mal eine elegante lösung sehen, weil ich des problem öfter habe
schonmal vielen dank für eure hilfe
grüsse
Verfasst: 01.12.2005 18:06
von D@ve
Musst Du über eine geschachtelte Schleife machen:
Code: Alles auswählen
for ($zeile = 1; $zeile <= $anzahl_zeilen)
{
echo "<tr>";
for ($spalte = 1; $spalte <= $anzahl_spalten)
{
echo "<td>Inhalt</td>";
}
echo "</td>";
}
Gruß, Dave
Verfasst: 01.12.2005 19:33
von Jack9027
hi,
thx läuft schonmal gut, aber ich steh gerade glaub ich total auf der leitung, weil ich einfach nicht darauf komme, wie ich die while schleife einbauen soll
Code: Alles auswählen
while($row = mysql_fetch_assoc($result)) {
echo $row['id']." ".$row['name'];
}
ich könnte mir bloss vorstellen, alles in ein array zu speichern und dann immer mit array[$zeile] auzurufen wo jetzt inhalt steht, aber des geht bestimmt schöner oder?
grüsse
Verfasst: 02.12.2005 14:46
von S2B
Doch, du musst alles zuerst in ein Array speichern:
Code: Alles auswählen
$array = array();
while($row = mysql_fetch_assoc($result))
{
$array[] = $row;
}
Verfasst: 02.12.2005 15:37
von V1tzl1
ich mach sowas immer so (ohne das vorher in ein array zu packen)
Code: Alles auswählen
echo("<tr>");
$z_count = 0;
while(...)
{
if($zcount >= 3)
{
$z_count = 0;
echo("</tr>\r\n<tr>");
}
echo("<td><img src="".$row->url."\" ...></td>");
$z_count++;
}
echo("</tr>");
Ist jetzt nur nen Schema, kann nen fehler drin sein, aber vom Prinzip her funktionierts

Verfasst: 02.12.2005 16:06
von Jack9027
ok thx also am besten gefällt mir irgendwie die methode von V1tzl1, weil bevor ich davor mit array rum tu. ich werd aber beide mal auf performance testen
also viel dank für eure hilfe
Verfasst: 02.12.2005 19:08
von chriss713
Also sauberer ist es auf jeden Fall, die Werte erst in ein Array zu schreiben und das Array dann als Tabelle ausgeben zu lassen.
Stichwort "Trennunn von Code / Layout".
Aber das Thema ist noch weit komplexer...
Verfasst: 03.12.2005 11:57
von Jack9027
hm kann mir dann vielleicht jemand ein buch oder ein tutorial im internet empfehlen mit so regeln wie "Trennunn von Code / Layout"
Verfasst: 03.12.2005 16:31
von Pyramide
Eine Einführung findest du z.B. in unserem Artikel KB:template_system
Verfasst: 03.12.2005 16:54
von naderman
chriss713 hat geschrieben:Also sauberer ist es auf jeden Fall, die Werte erst in ein Array zu schreiben und das Array dann als Tabelle ausgeben zu lassen.
Stichwort "Trennunn von Code / Layout".
Aber das Thema ist noch weit komplexer...
Ich würde eher sagen, dass das Speicherverschwendung ist, da der Array ja eigentlich garnicht gebraucht wird. Und in diesem Fall macht eine Code/Layout Trennung vermutlich auch nur wenig Sinn, da es hier nicht um ein größeres Projekt geht (soweit ich das verstanden habe). Bzw. man sollte sie mit einem Template System vornehmen und nicht durch Auftrennung in mehrere Schleifen.