soluzione pessima..
vediti questa, che ti copio e incollo che è una galleria.. ovviamente devi cambiare dei parametri e il nome dei campi che estrai.. il valore di $tablecolumns l'ho messo a 3. ma ovviamente puoi fare come vuoi..
ah.. ho omesso la connessione al DB..
Codice PHP:
<?php

// connessione al database


// selezione del DB



// prende numero record della tabella gallerie
$tablecolumns 3//stabilisce le colonne della tabella
$column_width "33%"// distribuisce la larghezza delle celle

        
echo "
<center><table border='0' cellpadding='0' cellspacing='5' width='600'>"
;

        echo 
"<tr>";
        

// Recupero dati dal database limitati
$query mysql_query("SELECT * FROM TABELLA");
$totalRows_gallerie mysql_num_rows($query);        
//piglia i dati e li mette in variabili
$i=0;
if (
$totalRows_gallerie 0) {
        while (
$row mysql_fetch_array($query)) {

            
$id_galleria $row["id_galleria"];
            
$foto $row["foto"];
            
$nomegalleria $row["nomegalleria"];
            
$descrizione $row["descrizione"];
            
            
// Costruzione celle

            
echo "<td align='center' width=$column_width  valign='bottom' >";
            echo 
"[url='foto-singole.php?id_galleria=$id_galleria'][img]gallerie_miniature/$foto[/img][/url]";
            echo 
"
"
;
             echo 
"[url='foto-singole.php?id_galleria=$id_galleria'][i]$nomegalleria[/i][/url]";
            echo 
"</td>";
            
            
$i++;

            
$rowcount++;

            if (
$rowcount >= $tablecolumns)

            {

                echo 
"</tr>";
                
$rowcount=0;

            }

        }
} else {
echo 
"Non ci sono gallerie al momento";
}
            
        echo 
"</table>";
?>