0

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

这是代码

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

4 回答 4

3

您的消息在您的foreach循环内,因此如果没有找到任何项目,则永远不会到达该部分代码。

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

if (empty($movies))
{
  echo 'no results were found';
}
else
{
  // do you loop
}
于 2013-04-30T18:50:27.490 回答
0

这应该工作得很好。

if(count($movies) > 0){
    foreach ($movies as $movie)
        // Do stuff
    }
}
else{
    echo 'No results returned';
}
于 2013-04-30T18:51:28.240 回答
0

您假设该数组$movies将有一个$movie. 您应该改为检查数组是否为空:

if( empty($array) ) {
    //Array empty
}
else {
    foreach ...
}
于 2013-04-30T18:51:37.460 回答
0

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

于 2013-04-30T18:51:48.553 回答