drei bilder pro zeile

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Jack9027
Mitglied
Beiträge: 344
Registriert: 05.01.2004 18:46

drei bilder pro zeile

Beitrag 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 :D

schonmal vielen dank für eure hilfe
grüsse
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag 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
There are only 10 types of people in the world: Those who understand binary, and those who don't
Jack9027
Mitglied
Beiträge: 344
Registriert: 05.01.2004 18:46

Beitrag 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
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag 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;
}
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
V1tzl1
Mitglied
Beiträge: 157
Registriert: 10.10.2005 15:31

Beitrag 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 :D
Jack9027
Mitglied
Beiträge: 344
Registriert: 05.01.2004 18:46

Beitrag 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
Benutzeravatar
chriss713
Mitglied
Beiträge: 229
Registriert: 06.06.2005 14:06

Beitrag 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...
Jack9027
Mitglied
Beiträge: 344
Registriert: 05.01.2004 18:46

Beitrag von Jack9027 »

hm kann mir dann vielleicht jemand ein buch oder ein tutorial im internet empfehlen mit so regeln wie "Trennunn von Code / Layout"
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Eine Einführung findest du z.B. in unserem Artikel KB:template_system
KB:knigge
naderman
phpBB.com
Beiträge: 823
Registriert: 01.08.2003 18:23
Wohnort: Berlin
Kontaktdaten:

Beitrag 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.
Antworten

Zurück zu „Coding & Technik“