4 Thumnails in einer Zeile ausgeben

Suat

Grünschnabel
Hallo,

ich hätte eine Frage bezüglich dem Modulo Operator.
Wie kann ich denn 4 Thumbnails in einer Zeile ausgeben lassen und dann eine neue Zeile anfangen?
Habe es mit dem Modulo Operator versucht, aber ich habe da wohl einen Denkfehler.

Vielen Dank im Voraus,

Suat

PHP:
<p><img src="http://localhost/bilder/head.jpg" width="1151" height="188" /></p>
<?php
  error_reporting(E_ALL);
  ini_set('display_errors', TRUE); // PHP-Fehlermeldungen

  include "config.php";

  
  $PicPathOut=MAIN_ROOT;
  $counter='0';

  $sql = "SELECT bild
      FROM suche ";
   $result = @mysql_query($sql);
   
   if (!$result)
       die('Datenbankfehler:  ' . mysql_error());

if (mysql_num_rows($result) >0) {
   while ($f = mysql_fetch_array($result)) {
     $PicPathIn=MAIN_URL.$f[0];
      // Bilddaten feststellen
      $size=getimagesize("$PicPathIn");
      $breite=$size[0];
      $hoehe=$size[1];
      $neueBreite=150;
      $neueHoehe=intval($hoehe*$neueBreite/$breite);

      if($size[2]==1) {
      // GIF
        $altesBild=ImageCreateFromGIF("$PicPathIn");
          $neuesBild=ImageCreateTrueColor($neueBreite,$neueHoehe);
          ImageCopyResampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
          ImageGIF($neuesBild,"$PicPathOut".$f[0]);
      }

      if($size[2]==2) {
      // JPG
        $altesBild=ImageCreateFromJPEG("$PicPathIn");
          $neuesBild=ImageCreate($neueBreite,$neueHoehe);
        ImageCopyResampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
         ImageJPEG($neuesBild,"$PicPathOut".$f[0],85);
      }

      if($size[2]==3) {
      // PNG
        $altesBild=ImageCreateFromPNG("$PicPathIn");
          $neuesBild=ImageCreate($neueBreite,$neueHoehe);
          ImageCopyResampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
          ImagePNG($neuesBild,"$PicPathOut".$f[0]);
      }
//Die erzeugten Thumbnails ausgeben
      $Tumbnail=MAIN_URL."out/".$f[0];
      ?>
    
    <tr><td><?php
    if ($counter % 3 == 1) echo "</tr>";
    $counter++;
    echo "<a href=\"$PicPathIn\">";
    
    echo "<IMG SRC=\"$Tumbnail\" WIDTH=\"$neueBreite\" HEIGHT=\"$neueHoehe\" border=\"1\">";?></td>
    <?php
    }
}  
?>
 
Du musst auch einen Modulo für den Anfangstag (<tr>) machen.

Starttag:
PHP:
if ($counter % 3 == 0) echo "<tr>";

Endtag:
PHP:
if ($counter % 3 == 2) echo "</tr>";
 
Wozu überhaupt eine Tabelle?
PHP:
$i = 0;
while( $f = mysql_fetch_array($result) ) {

	…

	if( $i++ % 3 == 0 ) echo '<div>';
	echo '<a href="'.$PicPathIn.'"><IMG SRC="'.$Tumbnail.'" WIDTH="'.$neueBreite.'" HEIGHT="'.$neueHoehe.'" border="1"></a>';
	if( $i++ % 3 == 2) echo '</div>';
}
 
Zurück