#php #arrays
#php #массивы
Вопрос:
У меня есть запрос, он выводит результаты в один столбец, я хотел бы, чтобы результаты отображались в двух столбцах. Вот код:
$i = 0;
$columnCount = 2;
echo "<table>";
while($row = $result->fetch_assoc())
{
$newRow = ( $i % $columnCount == 0 );
if( $newRow ) {
echo '<tr>';
}
echo '<td>' . $row['text'] . '</td>';
if( $newRow ) {
echo '</tr>';
}
$i ;
}
echo "</table>";
Еще раз спасибо,
Комментарии:
1. Вы хотите, чтобы данные сначала перемещались по вертикали или по горизонтали?
Ответ №1:
Вы определяете только один столбец в своем скрипте. Изменить:
echo '<td>' . $row['text'] . '</td>';
Для:
echo '<td>' . $row['text'] . '</td><td>' . $row['othercolumn'] . '</td>';
Также я не думаю, что ваши тесты для определения новой строки необходимы, если вы не хотите чередовать tr
определения, поэтому будет работать следующее:
echo '<tr><td>' . $row['text'] . '</td><td>' . $row['othercolumn'] . '</td></tr>';
или, если вы действительно хотите разные строки, сделайте:
while($row = $result->fetch_assoc())
if ( $i % 2 == 0 ) {
echo '<tr class="red">';
} else {
echo '<tr class="blue">';
}
echo '<td>' . $row['text'] . '</td><td>' . $row['othercolumn'] . '</td></tr>';
}
Ответ №2:
$i = 0;
$columnCount = 2;
echo "<table>";
while($row = $result->fetch_assoc())
{
if( $i % $columnCount == 0 ) {
if( $i != 0 ){
echo '</tr><tr>';
else{
echo '<tr>';
}
}
echo '<td>' . $row['text'] . '</td>';
$i ;
}
echo "</table>";