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 に答える