
Originariamente inviata da
badaze
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 |