Potrebuješ dva cykly (napríklad pomocou
for). Jedným vypisuješ riadky <tr> tabuľky (počet riadkov získaš ako pomer počtu záznamov a požadovaného počtu stĺpcov zaokrúhlené nahor - odporúčam požadovaný počet stĺpcov určiť ako premennú). V rámci hlavného cyklu medzi tagy <tr> a </tr> (hranica jedného riadku tabuľky) ešte potrebuješ vypísať jednotlivé bunky.
Niekam na začiatok skriptu nastav ľubovoľnú voľnú premennú (napr. $u a nech sa rovná na začiatku počtu záznamov. Teda ak máš počet v premennej $pocet, tak $u = $pocet). Každým prebehnutím hlavného cyklu znižuješ $u vždy o jedna. To znamená, že ak budeš mať sedem záznamov v databáze, vypíše sa (pri troch stĺpcoch) tabuľka s veľkosťou 3x3, čo je 9, takže posledné dva záznamy musia ostať prázdne.
Jednotlivé bunky môžeš vypisovať vedľajším cyklom, ktorý je v hlavnom cykle. V premennej $u máš vlastne počet zostávajúcich záznamov, ktoré musíš vypísať. Ak je $u väčšie ako nula, vypíšeš záznam. Ak nie, prázdny tag <td></td>.
Schématicky asi takto:
Kód:
<?php
// ostatne potrebne premenne (pocet zaznamov, pocet stlpcov,...)
$u = $pocet;
for(...)
{
// hlavný cyklus vypisuje celé riadky tabuľky
echo "<tr>";
for(...)
{
// vedľajší cyklus vypisuje jednotlivé bunky - overenie podmienkou
$u = $u-1;
if($u >= 0){
echo "<td>vypises zaznam</td>";
} else {
echo "<td>[prazdne]</td>";
}
}
echo "</tr>";
}
?>