2013-04-30 5 views
0

У меня здесь небольшая проблема. мне нужно сделать состояние на моей странице, если данные не были найдены в базе данных, сообщение должно быть выведеноУсловие, использующее оператор if else в 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>'; 

Даже если база данных пуста, не поступает никаких сообщений и я не знаю почему.

Спасибо

+0

где код базы данных? – itachi

ответ

3

Ваше сообщение внутри foreach петли так, если никакие элементы не найдены, что часть кода никогда не достигается.

Вам нужно добавить дополнительную проверку до или после цикла:

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

Я знал, что моя проблема в цикле ... его работа сейчас. Большое спасибо – ouzoumzak

0

Это должно работать нормально.

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

Вы предполагаете, что массив $movies будет иметь $movie. Вы должны вместо этого проверить, если массив пуст:

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

Вместо if($movie_id) { ... } попробовать if (!empty($movie_id)) { ... }

Смежные вопросы