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