2014-04-04 33 views
0

我得到了下面的代碼:PHP MySQL的代碼不會回顯

if(isset($_SESSION['user_id'])) { $query = "SELECT * FROM watchlist,movies WHERE watchlist.page=movies.id AND userid=". $_SESSION['user_id']; 
    $result = mysql_query($query) or die('Query failed: ' . mysql_error()); 

    while($row = mysql_fetch_assoc($result)) 
     { 
     echo '<div id="watchlist">'; 
      echo '<a href="watch.php?id='.$row['page'].'"><img src="http://nocmmnt.com/posters/'.$row['imdb_id'].'.jpg" height="217" width="154"></a><br>'; 
      echo '<span style="float:right;"><a href="delete.php?wid='.$row['wid'].'"><img src="image/close_delete.png" width="20"></a></span><a href="watch.php?id='.$row['page'].'">'.$row['title'].'</a><br>'; 
      echo "</div>"; 
     } 
    elseif(empty($row)) { 
     echo "You dont have any movies in your watchlist!"; 
    } 

我的問題是犯規回聲時,其空我怎麼能解決呢?

+0

你想在沒有找到結果時回顯?如果是,那麼你想打印什麼?使用mysql_num_rows來檢查空行。 –

+0

缺少一個捲曲的右括號 - 首先進行修復。 – blue

+1

'elseif'的'if'在哪裏? –

回答

0

試一下:

if(mysql_num_rows($result) == 0) 
    { echo "You dont have any movies in your watchlist!"; } 
    else{ 
    while($row = mysql_fetch_assoc($result)) 
    { 
    echo '<div id="watchlist">'; 
     echo '<a href="watch.php?id='.$row['page'].'"><img src="http://nocmmnt.com/posters/'.$row['imdb_id'].'.jpg" height="217" width="154"></a><br>'; 
     echo '<span style="float:right;"><a href="delete.php?wid='.$row['wid'].'"><img src="image/close_delete.png" width="20"></a></span><a href="watch.php?id='.$row['page'].'">'.$row['title'].'</a><br>'; 
     echo "</div>"; 
    } 

    } 
+0

非常感謝你:) –

0

您需要使用

mysql_num_rows($result) 

,以檢查是否有0行或不止於此。

0

檢查empty($row)不會做你認爲它的工作。你想要檢查的是mysql_num_rows($result) == 0

旁註 - mysql已棄用mysqli

1
elseif(empty($row)) { 

這是不對的條件結構,elseif必須拿出一個if塊或其他elseif後。

該代碼如何不會爲您生成分析錯誤?

Parse error: syntax error, unexpected T_ELSEIF on line 13 

此外,如其他人所說,簡單地檢查行計數爲0

if(mysql_num_rows($result)==0) 
0

您可以如下修改代碼,也嘗試使用庫MySQLi而不是MySQL的

<?php 
if(isset($_SESSION['user_id'])) { $query = "SELECT * FROM watchlist,movies WHERE watchlist.page=movies.id AND userid=". $_SESSION['user_id']; 
    $result = mysql_query($query) or die('Query failed: ' . mysql_error()); 

    $count = mysql_num_rows($result); 

    if($count > 0) 
    { 
     while($row = mysql_fetch_assoc($result)) 
     { 
      echo '<div id="watchlist">'; 
      echo '<a href="watch.php?id='.$row['page'].'"><img src="http://nocmmnt.com/posters/'.$row['imdb_id'].'.jpg" height="217" width="154"></a><br>'; 
      echo '<span style="float:right;"><a href="delete.php?wid='.$row['wid'].'"><img src="image/close_delete.png" width="20"></a></span><a href="watch.php?id='.$row['page'].'">'.$row['title'].'</a><br>'; 
      echo "</div>"; 
     } 
    } 
    else { 
     echo "You dont have any movies in your watchlist!"; 
    } 
} 
?>