繁体   English   中英

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

[英]SQL query not displaying the first result?

我想在我的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项
...

任何想法为什么会这样

去掉

$menulist = mysql_fetch_array($menu);

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

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

$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;

你应该放弃

$menulist = mysql_fetch_array($menu);

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

你也应该在你的echo之前放弃$

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM