Страница 1 из 1
PHP problem - displaying an array in rows and columns
Добавлено: Сб июн 21, 2008 09:18
Sandu
How can I display an array in lines and columns.
For example: $arr = array("1","2","3","4","5","6","7","8","9","10");
while($row = $pagedResults->fetchPagedRow()) { // when $row is false loop terminates
echo "<td>$row</td>";
}
It displays me in line: 1 2 3 4 5 6 7 8 9 10.
I want to display like this (4 columns):
1 2 3 4
5 6 7 8
9 10
Thanks.
Добавлено: Сб июн 21, 2008 11:31
Arbeit macht frei
while( $row = $pagedResults->fetchPagedRow() ) $results[] = $row;
// $results is something like array('1','2','3','4','5','6','7','8','9');
$cnt = count( $results );
for ($i=0; $i<=$cnt; $i += 4) $rows[] = array_slice( $results, $i, 4 );
echo '<table>';
foreach ( $rows as $row ) {
echo '<tr>';
foreach ( $row as $cell ) echo '<td>' . $cell . '</td>';
echo '</tr>';
}
echo '</table>';
Добавлено: Сб июн 21, 2008 14:26
ZorroGFS
Arbeit macht frei, как-то сложно, куча дополнительных массивов, вложеные циклы и вообще

имхо можно проще:
Код: Выделить всё
$arr = array("1","2","3","4","5","6","7","8","9","10");
echo "<table border=1><tr>";
for($i=0;$cell=each($arr);$i++){
if($i && !($i % 4)){
echo "</tr><tr>";
}
echo "<td>".$cell["value"]."</td>";
}
echo "</tr></table>";
Добавлено: Сб июн 21, 2008 15:35
Arbeit macht frei
Я первый и ниипет.
А так наверно ещё лучше:
$a = array("1","2","3","4","5","6","7","8","9");
echo '<table border=1><tr>';
foreach( $a as $k=>$v ) {
if( $k && !($k % 4) ) echo '</tr><tr>';
echo '<td>'.$v.'</td>';
}
echo '</tr></table>';