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>";
?>