Fabian Transchel: Tabelle mit PHP in FOR SCHLEIFE erzeugen

Beitrag lesen

Hallo Andre,

Doch wie läuft es hier?
Ist der richtige Ansatz eine "Mehrdimensionale (verschachtelte) FOR Schleife"?

IMHO nicht ganz. Folgenden Code einfach je nach Namen anpassen:

Das entscheidende ist, dass du die Tabelle genau so in den Schleifen durchlaufen lässt, wie der HTML-Code auch ausgegeben werden muss, also von links nach rechts und von oben nach unten. Dabei hilft dir mysql_fetch_row(), das automatisch nach der Extraktion einer Zeile des Mysql-Ergebnisses den Ergebnis-Zeiger die nächste Zeile vorrückt.

<?php

// Mysql-Anmeldung und Datenbank-Wahl einfügen

$spalten = 3;
$num_bilder = mysql_result(mysql_query("select count(bidname) from bilder"),0,0);
$query = "SELECT bildname,url FROM bilder ORDER BY id ASC";
$result = mysql_query($query);
echo("<table>");
for($i = 0;$i < $num_bilder;$i+=$spalten)
{
  echo("<tr>");
  for($y=0;$y<$spalten;$y++)
  {
    image_column($result);
  }
  echo("</tr>");
}
echo("</table>");

function image_column($result)
{
  $bild = mysql_fetch_row($result);
  if(!$bild)echo("<td>&nbsp;</td>");
  $name = $bild[0];
  $url = $bild[1];
  echo("<td><img src="$url" alt="$name"></td>");
}

?>

Grüße aus Barsinghausen,
Fabian