SQL-запрос не отображает первый результат?

Я пытаюсь динамически создавать меню навигации на моей 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 .

Это пропускает первый элемент, потому что вы вызываете mysql_fetch_array($menu) перед циклом while.