PHP: сделать 'поддельные' / пользовательские операторы в то время как - PullRequest
0 голосов
/ 26 декабря 2010

У меня есть это время цикла.

while($show = $queryActivities->fetch()){ echo $show["name"]."<br>"; }

Это берет данные из запроса и выводит имена ..

Теперь можно ли сделать пользовательские / поддельные данные? Я хотел бы сделать один, если в $ queryActivities нет данных / операторов, тогда он должен сделать пользовательский с именем "name" со значением "Nothing here .."

Возможно ли это? Вы можете сделать это?

Я знаю, что могу сделать if($queryActivities->rowCount == 0){ echo "Nothing here" ; }

Но я больше думал о создании пользовательских данных, поэтому он запускает цикл while с пользовательскими данными, который выполняется только в том случае, если в $ queryActivities ничего нет.

Что-то вроде ..:

if($queryActivities->rowCount == 0){
 # ..MAKE CUSTOM DATA..
 # ..SOMETHING LIKE THIS MAYBE:  .. 
 # $queryActivities = MAKE ARRAY WITH name => 'Nothing here'.. (just a thought)
}
while ($show = $queryActivities->fetch()){
echo $show["name"]."<br>";
}

Нечто подобное, только то, что я себе представляю, хотя я не знаю, как на самом деле.

Спасибо

1 Ответ

1 голос
/ 26 декабря 2010

Получите ваши данные в массив, а затем распечатайте их. В промежутке между этими двумя шагами вы можете изменить его по своему усмотрению.

Во всяком случае, это более упорядоченно. Я не люблю извлекать из БД и отображать за один шаг

Вы можете иметь 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>";
     }
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...