SQL查询没有显示第一个结果?

时间:2011-03-30 21:02:40

标签: php mysql while-loop

我正在尝试在我的php页面中动态创建导航菜单。

我有一个查询来创建活动页面的列表但由于某种原因,第一个结果从未显示

$menu = mysql_query("SELECT link FROM myTable WHERE active_page='y' ORDER BY menu_order");
$menulist = mysql_fetch_array($menu);

  while($menulist = mysql_fetch_array($menu))
  {
  $themenu = $themenu . "<li><a href='#'>" . $menulist['link'] . "</a></li>";
  }

  $echo $themenu;

返回

第2项 第3项 第4项 ...

为什么会这样做的任何想法

4 个答案:

答案 0 :(得分:6)

删除

$menulist = mysql_fetch_array($menu);

这个无关紧要的电话正在拉第一条记录,但是当你在你的循环中时,你没有做任何事情。

答案 1 :(得分:2)

它不会显示第一个项目,因为您在显示任何内容之前提取了两次...

$menu = mysql_query("SELECT link FROM myTable WHERE active_page='y' ORDER BY menu_order");

  while($menulist = mysql_fetch_array($menu))
  {
  $themenu = $themenu . "<li><a href='#'>" . $menulist['link'] . "</a></li>";
  }

  $echo $themenu;

答案 2 :(得分:1)

你应该放弃

$menulist = mysql_fetch_array($menu);

这会将光标向前移动一步,并有效地跳过第一行。

您还应该将$放在echo之前。

答案 3 :(得分:0)

它正在跳过第一个元素,因为您在mysql_fetch_array($menu)循环之前调用while