Как сделать, чтобы при пустой таблице выводился текст?
Я вывожу данные из бд в таблицу. Я хочу, чтобы если данных не было, то таблица была не просто пустая, а писалось "Тут пока ничего нет" Вопрос: как это сделать?
<table>
<tr>
<th class="var">Вариант</td>
<th>Баллы</th>
<th>Время</th>
</tr>
<?php
$count = 1;
while($row = mysqli_fetch_array($query)) {
?>
<tr>
<td class="var">
<a href="/check/<?php echo $row['id']; ?>" class="menu__item"><?php echo $row['subject']; ?></a>
</td>
<td>
<?php echo $row['score']; ?> / <?php echo $row['count']; ?>
</td>
<td>
<?php echo $row['time_of_submission']; ?>
</td>
<tr>
<?php
$count++;
}
?>
</table>
Ответы (2 шт):
Способов несколько. Как минимум
Сделать отдельный запрос на получение количества записей соответствующих условию (т.е. использовать
SELECT COUNT(1) FROM.....). И использовать именно этот единственный запрос с единственным значением, от которого отталкиваться (т.е. делатьif).Можно сделать текущий запрос и предварительно все данные сложить в массив. А далее работать именно с массивом и смотреть, если
count($arr)равен нулю - то записей нет, в ином случае начинать работать с массивом в цикле.Можно сделать текущий запрос и спросить длину результата (
$field_cnt = mysqli_num_fields($result);), и разветвиться по if
$count=$result->field_count;
if($count>0){
//выводите таблицу
}
else{
//выводите текст
}