Quote Originariamente inviata da badaze Visualizza il messaggio
Prova questo.

Codice PHP:
<?php
// questa lista è paragonabile al risultato della query
$array         = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
// metto i dati di $array in un altro array
$result     = array();
// numero di colonne
$numerocolonne 3;

// Conta delle righe => count($array) è paragonabile a mysql_num_rows
$numero_righe  = (int) (count($array) / $numerocolonne);
if (
$numero_righe != (count($array) / $numerocolonne) ) {
 
$numero_righe++;
}
// conta i record processati
$conta         0;
foreach(
$array as $key => $value) {
 
$colonna                 = (int) ($conta $numero_righe);
 
$riga                    $conta - ($colonna $numero_righe);
 
$result[$riga][$colonna] = $value;
 
$conta++;
}
?>
<table border="1"><?php
 
foreach($result as $subarray) {?>
  <tr><?php
   
foreach($subarray as $value2) {?>
    <td><?php print $value2;?></td><?php
   
}?>
  </tr><?php
 
}?>
</table>
Dà :

1 8 15
2 9 16
3 10 17
4 11 18
5 12 19
6 13 20
7 14
no ma io vorrei invece un risultato tipo

1 2 3
4 5 6
7 8 9
10 11 12