2013-10-14 202 views
0

我有這個短代碼來回顯MySql數據庫中的最後兩行。問題是它只顯示一個 - 最後一行。我無法弄清楚我做錯了什麼。我在另一個網站上使用幾乎相同的代碼,它工作得很好。如果我在Mysql查詢中使用LIMIT 1,則無法回顯。 你能幫忙嗎? 非常感謝。While循環只顯示一個結果

<? 
    $query = mysql_query("SELECT no, date, msg FROM news ORDER BY -no LIMIT 2"); 
    $data = mysql_fetch_array($query); 
    while ($data = mysql_fetch_array($query)) { 
     $text = nl2br ($data['msg']); 
     echo ('<b>Aktuality z Hlavatice ('.$data['date'].')</b><br /><br />' . $text); 
    } 
?> 
+0

停止使用不推薦使用的'mysql_ *'函數!改爲使用PDO/MySQLi。 – Raptor

回答

9

刪除第一$data = mysql_fetch_array ($query);,只留下一個在while。 第一個電話「搶斷」你的第一排,因爲LIMIT 2,你只會收到一個電話。

+0

Awsome。非常感謝。現在的問題是爲什麼它在我正在使用的另一個腳本中起作用:) – user2877941

+0

@ user2877941在另一個腳本中,某些內容必須有所不同。沒有其他解釋:) –

0

試試....你犯錯了。刪除$ data = mysql_fetch_array($ query);

<? 
$query = mysql_query("SELECT no, date, msg FROM news ORDER BY -no LIMIT 2"); 

while ($data=mysql_fetch_array($query)) 
{ 
$text = nl2br ($data['msg']); 
echo ('<b>Aktuality z Hlavatice ('.$data['date'].')</b><br /><br />'.$text); 
} 
?>