Witam
W jednej z galerii mojego autorstwa dziala taki kod:
<?php
if($res = mysql_query('select * from `galeria` where `gal_id`='.$d.' order by ord asc')){ echo '<div style="width: 120px; height: 130px; float: left; margin: 5px;"><a href="'.$_SERVER['PHP_SELF'].'?show='.$row['id'].'" target="show_photo" onclick="var myWin = window.open(this.href,this.target,'width
='.($photo_size[0] + 15).',height
='.($photo_size[1] + 80).',status
=no
,resizable
'); return false;"><img src="inc/thumbnail.php?id='.$row['path'].'&size=1&d=1" alt=""><div style="text-align: left;">'.$row['opis'].'</div></a></div>'; }
}else{
//tu obsluga bledu bazy
}
echo '<div style="margin: 10px auto; text-align: center; clear: both;"><a href="'.$_SERVER['PHP_SELF'].'">Powrót do galerii</a></div>'; ?>
Nie jest to do konca to co chcesz, ale takie rozwiazanie jest o tyle wygodne, ze zdjecia ukladaja sie samoistnie wierszami

A co do konkretnego zliczania, to kiedys rozwiazalem to w taki mniej-wiecej sposob (w odroznieniu od poprzedniego kodu ten pisze z pamieci, wiec moga byc bledy

):
<?php
if($res = mysql_query('select * from `galeria` where `gal_id`='.$d.' order by ord asc')){ $i = 1; //zainicjalizuj licznik przebiegow petli
if($i % 2 == 1){ //zacznij nowy wiersz jesli licznik nieparzysty
}
echo '<td><img src="$row['path
']"></td>'; if($i == $ile){
/* dopelnij pustymi komorkami do ilosci komorek w wierszu. tu jest to proste, ale
dla wiekszej liczby komorek w wierszu trzeba sie troszke pobawic w obliczenia */
if($i % 2 == 1){
$i++;
}
}
if($i % 2 == 0){ //zamknij wiersz jesli licznik parzysty
}
$i++;
}
}
/* LUB */
if($res = mysql_query('select * from `galeria` where `gal_id`='.$d.' order by ord asc')){ for($i =1; $i <= $ile; $i++){
if($i % 2 == 1){ //zacznij nowy wiersz jesli licznik nieparzysty
}
echo '<td><img src="$row['path
']"></td>'; if($i % 2 == 0){ //zamknij wiersz jesli licznik parzysty
}
}
/* tu sprawdzamy, ilu komorek nam brakuje przed koncem wiersza. Wczesniej nalezy
odjac 1 od licznika, bo po wyjsciu z petli zostal zainkrementowany, o ile sie nie
myle */
$i--;
if($i % 2 == 1){
echo '<td> </td></tr>'; }
}
?>
Gwozdziem jest tutaj sprawdzenie, czy koniec petli byl podzielny przez ilosc zdjec w wierszu (tu - 2), a jesli nie, wstawienie odpowiedniej ilosci pustych komorek (tu jednej, ale robilem takie galerie dla dowolnej ilosci miniatur w wierszu 8) )
Pozdrawiam