2011-04-19 56 views
1

正確的,所以我試圖執行一個新聞功能,我已經編碼它一樣的方式,我總是這樣做,但一些某些原因,它不會工作因爲數據沒有顯示,儘管我的mysql_num_rows函數正在檢測數據庫中的數據。我的while循環不會回顯數據從我的數據庫

require('php/connect.php');

$query = mysql_query("SELECT * FROM news ORDER BY id DESC"); 

$numrows = mysql_num_rows($query); 

    if($numrows=!0) 
    { 

     while ($row = mysql_fetch_assoc($query)); 
     { 

     $body = $row['body']; 
     $date = $row['date']; 

     echo "Posted on: "strtotime($date)" |"; 
     echo "<hr width='20%' align='left'"; 
     echo "$body <br /> <hr width='100%' />"; 

     } 

    } 
    else  
     die("There are no news posts to show.") 

如果有人能告訴我在我的代碼中出了什麼問題,那將非常感激。

+3

你有一種奇怪的寫作不平等的方式 - 是不是'=!'實際上工作?另外,我通常使用'「。」'連接字符串,''發佈於:「strtotime($ date)」|「'valid? – RichardTheKiwi 2011-04-19 10:09:44

+0

是的,它不是$ numrows,雖然它是一個問題,但它只是沒有從數據庫接收信息,雖然它正在連接。而= = 0只是說「如果它不等於0」的不同方式 – 2011-04-19 10:13:19

+0

我想你的意思是$ numrows!= 0,不= =。即使第一個是錯誤,它總是評估爲1.在這種情況下哪個不是問題,它可能不是你想要的,並且在查看代碼時會有些奇怪。 – mdma 2011-04-19 10:13:42

回答

4

使用這種if($numrows)代替if($numrows=!0)

和使用

echo "Posted on: ".strtotime($date)." |"; 

而不是使用

echo "Posted on: "strtotime($date)" |";

廣告存在

echo "<hr width='20%' align='left' />"; // closing tag for <hr> 
echo "$body <br /> <hr width='100%' />"; 
0

有一件事是肯定的,它是您添加到查詢中的$ numrows事物。這或者沒有什麼可以迴應。嘗試查詢而不檢查它是否返回任何內容。

+0

我做過了,但我仍然遇到與變量相同的問題,就像他們沒有從表格中提取信息。 – 2011-04-19 10:11:24

1

更改它

if($numrows=!0) 

if($numrows != 0) 
+1

完全沒有影響。 – 2011-04-19 10:10:12

+0

@aiden:看@gaurav的答案,你也有連接問題。 – 2011-04-19 10:14:37

1

不是關於你的問題的一個失誤較多,但if($numrows=!0)會總是如此。 使用if($numrows!=0)

相關問題