Júúújjjjj.... látom nagyon nem értetted meg. Akkor mondom világosabban.
Tegyük fel, hogy maradunk a táblázatos módszerednél. Akkor csak egy <table> kell. és aztán a ciklus, ami addig fut, ameddig van még képed. Utána lezárod a </table> vel.
Na most mivel ciklusról van szó, és írtam, hogy az $i a ciklusváltozó, ezt a változót a ciklusban növelni kell minden alkalommal 1-el, különben sosem lesz igaz a feltétel. mert mindig az 1-et osztja 3-al. Tehát annak a ciklusnak a végén, ami az egyes képeket listázza, tedd be hogy $i++;
És ebben a feltételben:
if( ( $i % 3 )== 0) print "<tr>";
Csak a sor kezdés van kitéve, de minden ciklusban lezárod a sort. Így nagyon nem fog jó kimenetet adni.