如果没有搜索结果,则回显消息

时间:2011-10-31 12:00:07

标签: php search echo

以下代码将我的搜索结果回显到该页面。当没有搜索结果但似乎无法显示消息时,我试图回复消息。

检查是否没有结果的最佳方式是什么?

代码:

    <?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 个答案:

答案 0 :(得分:2)

您需要在foreach循环

之前检查$ search_results数组是否为空
 <?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>';
}
?>

答案 1 :(得分:0)

你的脚本不可能工作,因为只要$ search_results不为空,就会转换foreach循环,因此if(empty($ search_results)){echo'没有结果';}永远不会成立。

尝试if(空($ result)){echo'无结果';}

或if($ result!='$ empty'){echo'No results';}($ empty取决于'empty'的含义)