Хороший вопрос, на который, к сожалению, большую часть времени отвечают неверно.
Смешивать код, связанный с базой данных, и код HTML - очень плохая практика. Никогда не должно быть l oop, как это.
Вместо этого данные должны выбираться в массив,
$jobs = [];
while ($row = mysqli_fetch_assoc($jobs)) {
$jobs[] = $row;
}
, который затем используется для вывода данных. И когда у вас есть этот массив, вы можете использовать его, чтобы узнать, вернул ли запрос какие-либо данные:
<?php if ($jobs) { ?>
<?php foreach ($jobs as $job) { ?>
<tr class="custom-table-body-titles">
<td><?php echo h($job['updated_at']); ?></td>
<td>
<a href="#" class="text-dark"><?php echo h($job['title']); ?></a>
</td>
<td>0/<?php echo h($job['required_freelancers']); ?></td>
<td><?php echo h($job['delivery_time']); ?> Days</td>
<td>$<?php echo h($job['budget']); ?></td>
<td>
<a href="job_details.html" class="btn btn-sm btn-primary">Apply</a>
</td>
</tr>
<?php } ?>
<?php } else {?>
no data
<?php } ?>