Tom: Array dynamisch ausgeben

Beitrag lesen

Hello,

Ja im Prinzip richtig. Der Code ist auch nur ein kleines Stück.

  • erst die Datenbankabfrage z.B. 100 Stück
  • man will 3 Bilder nebeneinander, danach immer einen Umbruch
    deshalb das hier alles:

Ich vermute, dass Du dann eine Tewbelle benötigst, wenn die drei Bilder nicht floaten sollen, sondern immer garantiert drei in einer Zeile sein sollen.

Wenn $_data das Array der Bildnamen aus der Datenbank ist:

<?php   ### maketable.php ###

Parameter

$anzahl_bilder = 21;
$spalten       = 3;

Testdaten erzeugen

$_data = array();

for ($i=1; $i<$anzahl_bilder; $i++)      ## als Array mit den Bildnamen aus DB
{
  $_data[$i] = "Bild $i";
}

Testdaten ausgeben

if (is_array($_data))
  {
    $bildzahl = 0;
    $zeile = 1;
    echo "<table>\n";
    echo "  <tr>\n";

foreach($_data as $key => $val)      ## $val ist der Name des Bildes
    {
      $bildzahl++;
      echo "    <td>$val</td>\n";        ## kannst auch <img src="$val" ...> schreiben

if ($bildzahl % $spalten == 0)
      {
        echo "    <td>Zeile: $zeile</td>\n";
        echo "  <tr>\n  <tr>\n";
        $zeile++;
      }
    }

## Tabelle fertig bauen

$rest = $bildzahl % $spalten;

if ($rest > 0)
    {

for ($i = $spalten - $rest; $i>0; $i--)
      {
        echo "<td>&nbsp;</td>\n";
      }

echo "    <td>Zeile: $zeile</td>\n";
    }

echo "  </tr>\n";
    echo "</table>\n";
  }

?>

Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)