Эхо-сообщение, если нет результатов поискаq - PullRequest
0 голосов
/ 31 октября 2011

Следующий код выводит мои результаты поиска на страницу.Я пытаюсь отобразить сообщение, когда нет результатов поиска, но, похоже, не могу отобразить сообщение.

Каков наилучший способ проверить, нет ли результатов ??

Код:

    <?php if(isset($search_results)) {foreach($search_results as $result): ?>

<?php  if(empty($search_results)) {echo 'No results';}
    else {
    echo '<div class="search_result"> <b>'.$result['title'].'</b><br />';
   echo '<span class="search_result_url">'.$result['link'].'</span><br />';
   echo $result['text'].'<br /></div>';
    } ?>

    <?php endforeach; } else {echo '<b>Please type what you are looking for into the search bar and press \'enter\'</b>';}?>

Ответы [ 2 ]

2 голосов
/ 31 октября 2011

Вам нужно проверить, пуст ли ваш массив $ search_results перед циклом foreach

 <?php 
if( isset($search_results) ) {
    if( empty($search_results) ) {
        echo 'No results';
    } else {
        foreach($search_results as $result) {
            echo '<div class="search_result"> <b>'.$result['title'].'</b><br />';
            echo '<span class="search_result_url">'.$result['link'].'</span><br />';
            echo $result['text'].'<br /></div>';
         }
    } 
} else {
    echo '<b>Please type what you are looking for into the search bar and press \'enter\'</b>';
}
?>
0 голосов
/ 31 октября 2011

ваш скрипт не может работать, так как цикл foreach выполняется, как только $ search_results НЕ пуст, поэтому если (empty ($ search_results)) {echo 'No results';} никогда не будет true.

try if (empty ($ result)) {echo 'Нет результатов';}

или if ($ result! = '$ Empty') {echo 'Нет результатов';} ($ empty в зависимости от того, что означает «empty»)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...