phpbar.de logo

Mailinglisten-Archive

[php] verzeichnis auslesen/dynamische tabelle

[php] verzeichnis auslesen/dynamische tabelle

Christian Bergler php_(at)_phpcenter.de
Thu, 30 May 2002 12:37:28 +0200


>Wie mache ich das am besten? Also, dass immer nach drei Bildern eine neue
>Zeile anzufangen hat?

Schau Dir mal folgendes Schnipsel an, liesst zwar aus der DB, nocht ausm
Verzeichnis, aber das sollte kein Problem sein...

------------------------------------------------------
$qu_tble = mysql_query("SELECT * FROM pics ORDER BY pic_name",$db);

$pixinrow = 5;                                        // Anzahl der Bilder
pro Tabellenzeile
$pixanz = mysql_num_rows($qu_tble);    // Anzahl der auszugebenden Bilder

$counter = 1;
$quotient = $pixanz/$pixinrow;


if ($quotient = round($quotient))
{
         $nextfullhouse = $pixanz;
}
else
{
         $nextfullhouse = $pixinrow * (round($quotient-0.5)+1);
}
$lefttofullhouse = $nextfullhouse - $pixanz;

printf("<br><table border='0' cellpadding='3'><tr>\n");
while ($tble_row = mysql_fetch_array($qu_tble))
{

         $akt_name = $tble_row["pic_name"];
         printf("<td bgcolor='#EEEBEE'><img src='%s.jpg'></td>",
$pathtopics . $akt_name);

         if ( ($counter / $pixinrow) == (round($counter/$pixinrow)) )
         {
                 if ($counter == $pixanz) // alle Bilder wurden bereits
ausgegeben, keine weitere Tabellenzeile beginnen
                 {
                 printf("</tr>\n");
                 }
                 else
                 {
                 printf("</tr><tr>\n");
                 }
         }
         $counter++;

}


for ($i = 1; $i <= $lefttofullhouse; $i++)  // falls nicht genügend
Bilder  um die letzte Zeile voll zu machen vorhanden sind, geschieht das
hier...
{
         printf("<td>&nbsp;</td>");
}

printf("</tr></table>");
------------------------------------------------------


hope that helps...
Christian


http://bergler.ch


php::bar PHP Wiki   -   Listenarchive