Bilder in Tabelle mit fester Anzahl Reihen / Spalten

kippi01

Mitglied
Hallo, ich habe ein kleines Script, mit dem ich Bilder aus meiner Datenbank in tabellarischer Form ausgeben kann. Pro Seite sollen 9 Spalten und 3 Reihen ausgegeben werden. Für die Berechnung der Bilder pro Seite benutze ich eine Funktion, auf die ich hier nicht weiter eingehe.

Und jetzt mein Problem: Wenn die letzte Seite weniger als als 27 Bilder hat, sollen die Reihen und Spalten trotzdem weitergeführt und ein "Leeres Bild" eingefügt werden, von dem ich nur den grauen Rahmen sehe. Bei meinem System wird die letzte Seite dann nicht sauber dargestellt. Vielleicht hat jemand noch eine Idee?

Hier das Script:

PHP:
<?
$SPALTEN = 9; 
echo "<table width='800' height='365' border='0' cellpadding='0' cellspacing='8'>";

$num = 0;

while($row = mysql_fetch_object($result)) 

{ 
if ($num % $SPALTEN == 0 && $num > 0) 
{ 
echo "</tr><tr>"; 
} 

echo "<td width='78' height='109'><a href='register.php'><img src='pictures/thumb/thumb_$row->bild1' width='78' height='109' border=1 style='border-color: #eeeeee;' alt='$row->name'></a></td>"; 
$num ++;
}  

if ($num % $SPALTEN != 0) 
{ 
echo "<td colspan = '". ($num % $SPALTEN) ."'><img src='images/blank.gif' width='78' height='109' border=1 style='border-color: #eeeeee;'></td>"; 
 } 
echo "</tr>"; 
echo "</table>"; 
?>
 
Du musst sozusagen beim letzten richtigen Bild ein Schleife starten, die die restlichen Bilder ausgibt.
 
Du kannst die Bilder auch einfach in einer ungeordneten Liste ausgeben und diese dann mit CSS formatieren. Dabei musst du dir keine Gedanken machen, ob genügend Bilder vorhanden sind, um alle Spalten einer Zeile zu füllen.
 
Also ich würde erstmal überprüfen wieviele Einträge auf der Seite angezeigt werden aus der Datenbank.
Und danach sowas in der Art
PHP:
if($num==$count_from_table)
{
$rest = 27 - $count_from_table;
for($x = 1; $x <= $count_from_table; $x++) {
//hier steht dann deine Ausgabe 
} }
 

Neue Beiträge

Zurück