Таблица php: отображает 3 ячейки в каждой строке

Я посмотрел здесь: массив в таблицу с 5 ячейками в каждой строке

но я не могу адаптировать свой код.

Мне нужно отобразить результаты массива php в таблице. В таблице должно быть 3 ячейки для каждой строки.

Я не знаю, как выводить и каждую третью строку, и я не знаю, как выводить последнее, если таблица содержит несколько записей, которые не кратно 3.

Вот мой код:

echo "<table>"; $num=mysql_numrows($result1); $i=0; while ($i < $num) { $aaa=mysql_result ($result1,$i,"aaa"); $bbb=mysql_result ($result1,$i,"bbb"); echo " <td>$aaa $bbb</td> "; $i++; } echo "</table>"; 

используйте оператор mod% для проверки третьего элемента. например

 if($i%3 == 0) { // this is the third element, start a new tr here } 

Чтобы добиться чего-то подобного:

введите описание изображения здесь

Вы можете легко сделать вещи настраиваемыми, объединив их в свой собственный iterator , который предоставляет строки и столбцы:

 /** * function to fetch one row from database */ function fetch_row($resultSet = NULL) { static $result; static $i = 0; if ($resultSet) { $result = $resultSet; return; } return mysql_fetch_assoc($result); } fetch_row($result1); // initialize fetch function $it = new FetchIterator('fetch_row'); $table = new TableIterator($it, 5); if ($table->valid()) : ?> <table border="1"> <?php foreach ($table as $row => $columns) : ?> <tr class="<?php echo $row % 2 ? 'odd' : 'even'; ?>"> <?php foreach ($columns as $index => $column) : ?> <td> <?php if ($column) echo $column['aaa'], ' ', $column['bbb']; ?> </td> <?php endforeach; ?> </tr> <?php endforeach; ?> </table> <?php endif; 

Некоторые демо и посмотреть, а также некоторые PHP Итератор Fun .

Попробуй это

 echo "<table><tr>"; $num=mysql_numrows($result1); $i=0; while ($i < $num) { $aaa=mysql_result ($result1,$i,"aaa"); $bbb=mysql_result ($result1,$i,"bbb"); if($i %3 ==0) { echo"</tr><tr><td> $aaa $bbb </td>"; } else { echo"<td> $aaa $bbb </td>"; } $i++; } echo "</tr></table>";