#php #html #mysql
#php #HTML #mysql
Вопрос:
Я хочу создать таблицу на основе результата SQL-запроса в PHP. Я знаю, что если бы мой запрос вернул 2 результата, я мог бы использовать
echo '<table>
<tr>
<th>User</th>
<th>Answer</th>
</tr>
<tr>
<td>$row[0]['username']</td>
<td>$row[0]['answer']</td>
</tr>
<tr>
<td>$row[1]['username']</td>
<td>$row[1]['answer']</td>
</tr>
Но как мне это сделать, если я не знаю, сколько результатов будет возвращено
Редактировать:
Я использовал цикл, как рекомендовано, но результаты отображаются под таблицей, а не внутри. Внутри находятся только заголовки таблиц. Есть идеи?
echo '<table class="collabtable">
<tr>
<th>User</th>
<th>Answer</th>
</tr>';
foreach($rows as $row){
if (isset($row['collabans'])){
echo '<tr>
<td>'.$row['username'].'</td>
<td>'.$row['collabans'].'</td>
</tr>';
}
echo '</table>';
}
}
Комментарии:
1. используйте цикл…..
Ответ №1:
Вы можете использовать цикл. Смотрите ниже.
<table>
<tr>
<th>User</th>
<th>Answer</th>
</tr>
<?php foreach ($rows as $row) {
if (isset($row['collabans'])){ ?>
<tr>
<td><?php echo $row['username']; ?></td>
<td><?php echo $row['answer']; ?></td>
</tr>
<?php }
} ?>
</table>
Комментарии:
1. Спасибо, это действительно помогает, но я все еще застрял на синтаксисе. Я отредактировал свой ответ, чтобы показать, где я сейчас нахожусь
2. Закройте таблицу после завершения цикла.
Ответ №2:
Вам нужно просмотреть все результаты вашего запроса, как показано ниже:
if ($result->num_rows() > 0) {
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) {
<tr>
<td>$row['username']</td>
<td>$row['answer']</td>
</tr>
}
}
Надеюсь, это поможет вам.
Комментарии:
1. Спасибо, это действительно помогает, но я все еще застрял на синтаксисе. Я отредактировал свой ответ, чтобы показать, где я сейчас нахожусь
2. echo ‘</table>’; должно быть после второй закрывающей скобки