while循环只显示一个结果

时间:2013-10-14 07:05:53

标签: php mysql

我有这个短代码来回显MySql数据库中的两个最后一行。问题是它只显示一个 - 一个但是最后一行。我无法弄清楚我做错了什么。我在其他网站上使用几乎相同的代码,它的工作正常。如果我在Mysql查询中使用LIMIT 1,我什么也得不到回应。 你能帮忙吗? 非常感谢。

<?
   $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);
   }
?>

2 个答案:

答案 0 :(得分:9)

首先删除$data = mysql_fetch_array ($query);,然后只在while中删除该LIMIT 2。 这第一个电话会“窃取”您的第一行,因为{{1}}您只会收到一个。

答案 1 :(得分: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);
}
?>