2013-10-14 103 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); 
} 
?>