在php中使用if else语句的条件

时间:2013-04-30 18:48:19

标签: php

我这里有一个小问题。 我需要在我的页面中创建一个条件,如果在数据库中找不到数据,则应输出一条消息

这是代码

foreach ($movies as $movie)
{
    $movie_id = $movie['movie_id'];
    $movie_name = $movie['movie_name'];
    $movie_category = $movie['movie_category'];
    $movie_display = $movie['movie_display'];

    if ($movie_id){
        echo '<tr>';
        echo '<td>' . $movie_name . '</td>';
        echo '<td>' . $movie_category . '</td>';
        echo '<td align="center">';
        if ($movie_display==1) { echo "YES";} else { echo "NO";} 
        echo '</td>';
        echo '<td align="center">';
        echo "<a href='editmovies.php?movie_id={$movie_id}'>". edit .'</a><br/></td>';
        echo '<td align="center">';
        echo "<a class='delete' href='deletemovie.php?movie_id={$movie_id}'>". delete .'</a><br/></td>';
        echo '</tr>';
    }
    else { 
        echo 'no results were found';
    }
}
echo '</table>';

即使数据库为空,也没有传递任何消息,我也不知道原因。

谢谢

4 个答案:

答案 0 :(得分:3)

您的邮件位于foreach循环内,因此如果找不到任何邮件,则永远不会访问该部分代码。

您需要在循环之前或之后添加额外的检查:

if (empty($movies))
{
  echo 'no results were found';
}
else
{
  // do you loop
}

答案 1 :(得分:0)

这应该可以正常工作。

if(count($movies) > 0){
    foreach ($movies as $movie)
        // Do stuff
    }
}
else{
    echo 'No results returned';
}

答案 2 :(得分:0)

您假设数组$movies将有$movie。您应该检查数组是否为空:

if( empty($array) ) {
    //Array empty
}
else {
    foreach ...
}

答案 3 :(得分:0)

而不是 if($movie_id) { ... } 尝试 if (!empty($movie_id)) { ... }