Получите ваши данные в массив, а затем распечатайте их. В промежутке между этими двумя шагами вы можете изменить его по своему усмотрению.
Во всяком случае, это более упорядоченно. Я не люблю извлекать из БД и отображать за один шаг
Вы можете иметь if / else, который проверяет, является ли массив пустым, и печатает ли сообщение по умолчанию, или создает запись по умолчанию со свойством name, которое затем отображается с тем же циклом вывода, что и обычные данные. Я бы предпочел первый, но мы сделаем второй стиль, потому что это то, о чем вы спрашивали.
Вот одно простое решение.
$activities=array();
while($show = $queryActivities->fetch()){ $activities[]=$show; }
if(empty($activities)){ $activities=array(array('name'=>'None Found')); }
foreach($activities as $activity){
echo $activity['name']."<br>";
}
Я думаю, что использование if / else является лучшим решением. Однако, в зависимости от вашего стиля вывода, это может потребовать большего количества повторений кода.
$activities=array();
while($show = $queryActivities->fetch()){ $activities[]=$show; }
if(empty($activities)){
echo "None found <br>";
}
else{
foreach($activities as $activity){
echo $activity['name']."<br>";
}
}