limitare il numero di risultato per linea

Buonasera...sono ancora qua a stressare...sto cercando di resituitire in una tabella dei dati di un db limitando il numero di risultato per linea (3 al massimo), ma in output ho solo 6 risultati su 8, gli ultimi 2 non compaiono...

Codice:
$cat = mysql_query("SELECT tipologie FROM acc_categories ");
echo "<table width=\"40\>";
while($res = mysql_fetch_array( $cat ))
{
    echo "<tr height=\"40\">";
    for($i=0; $i < 3; $i++){
        echo "<td>";
        echo "<a href= 'http://www....org/".$res['tipologie']."'>"; echo $res['tipologie']; echo "</a>";
        echo "</td>";
        if(!$res = mysql_fetch_array( $cat )){
            break;
        }
    }
    echo "</tr>";
 }
echo "</table>";
}
cosa mi sfuge?
 
iao
prova in questa maniera
PHP:
<?php
$cat = mysql_query("SELECT tipologie FROM acc_categories ");
echo "<table width=\"40\>";
$r=0;
while($res = mysql_fetch_array( $cat )){
    if($r==0){echo "<tr height=\"40\">";}
        echo "<td>";
        echo "<a href= 'http://www....org/".$res['tipologie']."'>"; echo $res['tipologie']; echo "</a>";
        echo "</td>";
	$r++;
    if($r == 2){$r=0;echo "</tr>";	}
}
//questo per aggiustare la tabella all'uscita del while se i record non sono multipli di 3
if($r==0){echo "<td>&nbsp;</td><td>&nbsp;</td></tr>";}elseif($r==1){echo "<td>&nbsp;</td></tr>";}
echo "</table>";
}
?>

mal che vada non funzia

p.s.
non usare per php il tag [ code ] ma il [ php ]
 
In questo articolo trovi un esempio su come intabellare i risultati per il numero di colonne desiderato.
 

Discussioni simili