【问题标题】:SQL query not displaying the first result?SQL查询不显示第一个结果?
【发布时间】:2011-07-26 10:16:02
【问题描述】:

我正在尝试在我的 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
...

任何想法为什么会这样

【问题讨论】:

    标签: php mysql while-loop


    【解决方案1】:

    删除

    $menulist = mysql_fetch_array($menu);
    

    这个无关的调用正在提取第一条记录,但你没有对它做任何事情,因为你在你的 where 循环中。

    【讨论】:

      【解决方案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;
      

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

          你应该放弃

          $menulist = mysql_fetch_array($menu);
          

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

          您还应该在echo 之前删除$

          【讨论】:

            猜你喜欢
            • 2017-01-19
            • 2018-01-19
            • 2021-02-24
            • 1970-01-01
            • 2015-03-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-10-26
            相关资源
            最近更新 更多