Я пытаюсь заполнить таблицу данными из базы данных, используя mysqli и php. Используя следующий код:
<?php
if(mysqli_num_rows($search_query) > 0) {
do {
<tr>
<td> echo $rows['COL 1']; </td>
<td> echo $rows['COL 2']; </td>
<td> echo $rows['COL 3']; </td>
<td> echo $rows['COL 4']; </td>
<td> echo $rows['COL 5']; </td>
<td> echo $rows['COL 6']; </td>
<td> echo $rows['COL 7']; </td>
<td> echo $rows['COL 8']; </td>
<td> echo $rows['COL 9']; </td>
<td> echo $rows['COL 10']; </td>
<td> echo $rows['COL 11']; </td>
<td> echo $rows['COL 12']; </td>
<td> echo $rows['COL 13']; </td>
</tr>
} while ($rows=mysqli_fetch_assoc($search_query));
}
else {
echo "No results found.";
}
?>
Я получаю сообщение об ошибке, и на сайте ничего не отображается. Я уверен, что это связано с тегами php, но я не могу понять, как их правильно использовать. Я также попробовал:
<?php
if(mysqli_num_rows($search_query) > 0) {
do { ?>
<tr>
<td><?php echo $rows['COL 1'];?> </td>
<td><?php echo $rows['COL 2'];?> </td>
<td><?php echo $rows['COL 3'];?> </td>
<td><?php echo $rows['COL 4'];?> </td>
<td><?php echo $rows['COL 5'];?> </td>
<td><?php echo $rows['COL 6'];?> </td>
<td><?php echo $rows['COL 7'];?> </td>
<td><?php echo $rows['COL 8'];?> </td>
<td><?php echo $rows['COL 9'];?> </td>
<td><?php echo $rows['COL 10'];?> </td>
<td><?php echo $rows['COL 11'];?> </td>
<td><?php echo $rows['COL 12'];?> </td>
<td><?php echo $rows['COL 13'];?> </td>
</tr>
} <?php while ($rows=mysqli_fetch_assoc($search_query));?>
</table>
}
<?php
else {
echo "No results found.";
}
?>
Попробуйте с помощью обычного цикла while.
Операция do while сначала выполнит часть do, поэтому строки $ будут неопределенными.
<?php
if(mysqli_num_rows($search_query) > 0) { ?>
<table>
<?php while ($rows=mysqli_fetch_assoc($search_query)) { ?>
<tr>
<td><?php echo $rows['COL 1'];?> </td>
<td><?php echo $rows['COL 2'];?> </td>
<td><?php echo $rows['COL 3'];?> </td>
<td><?php echo $rows['COL 4'];?> </td>
<td><?php echo $rows['COL 5'];?> </td>
<td><?php echo $rows['COL 6'];?> </td>
<td><?php echo $rows['COL 7'];?> </td>
<td><?php echo $rows['COL 8'];?> </td>
<td><?php echo $rows['COL 9'];?> </td>
<td><?php echo $rows['COL 10'];?> </td>
<td><?php echo $rows['COL 11'];?> </td>
<td><?php echo $rows['COL 12'];?> </td>
<td><?php echo $rows['COL 13'];?> </td>
</tr>
<?php } ?>
</table>
<?php }
else {
echo "No results found.";
}
?>
Во втором примере у вас также есть закрывающая скобка за пределами ваших тегов PHP. Включение отчетов об ошибках дало бы вам информативное сообщение об ошибке.
error_reporting(E_ALL);
ini_set('display_errors', 'on');
<?php
$result=mysqli_fetch_assoc($search_query);
if(mysqli_num_rows($result) > 0) { ?>
<table>
<?php while ($rows=$result) { ?>
<tr>
<td><?php echo $rows['COL 1'];?> </td>
<td><?php echo $rows['COL 2'];?> </td>
<td><?php echo $rows['COL 3'];?> </td>
<td><?php echo $rows['COL 4'];?> </td>
<td><?php echo $rows['COL 5'];?> </td>
<td><?php echo $rows['COL 6'];?> </td>
<td><?php echo $rows['COL 7'];?> </td>
<td><?php echo $rows['COL 8'];?> </td>
<td><?php echo $rows['COL 9'];?> </td>
<td><?php echo $rows['COL 10'];?> </td>
<td><?php echo $rows['COL 11'];?> </td>
<td><?php echo $rows['COL 12'];?> </td>
<td><?php echo $rows['COL 13'];?> </td>
</tr>
<?php } ?>
</table>
<?php }
else {
echo "No results found.";
}
?>