En realidad ya antes había escuchado decir a alguien que no le funcionaba ese código...
Acá te dejo otro que yo utilizaba y que me funcionaba bien... (creo)
Código PHP:
$columnas = 5;//o las columnas que quieras
$final = 0;
echo "<table border=\"1\">";
for($i=1;$i<=$filas && $final==0;$i++){
echo "<tr>";
$n = 1;
while(($n%($columnas+1)) != 0){
echo "<td>";
if($row = mysql_fetch_array($result)){
echo $row["nombre"];//o lo que quieras escribir en la celda.
}else{
echo " ";
$final = 1;
}
echo "</td>";
$n++;
}
echo "</tr>";
}
echo "</td></tr></table>";
Saludos