用PHP显示导航栏

时间:2013-03-30 23:11:38

标签: php html mysql

我的导航栏有以下代码...(子菜单位 - 下拉列表)

<div class="column" style="width:50%">
<ul>
<li><a href="#">LINK</a></li>
</ul>
</div>

每个......

我有这个PHP代码在数据库的菜单下拉部分显示数据

<div class="column" style="width:50%">
                <ul>
                <?php
                $menu1="SELECT * from websitepages where pagetype = 'About' order by pagedesc ASC ";
                $menu2=mysql_query($menu1,$conn) or die(mysql_error());
                $counter=0;
                while($menu3=mysql_fetch_array($menu2))
                {
                    $counter++;
                    echo '<li><a href="/index.php?p='.$menu3["pagename"].'">'.$menu3["pagedesc"].'</a></li>';
                    if($counter==2) { echo '</ul></div>'; $counter=0; }
                }
                ?>

我基本上需要它来显示数据库中的2个项目(它从$ counter变量中显示数字)

所以当它到达2个项目时,它关闭然后重新打开它并启动一个新列并再次显示相同数量的项目,但显然不是已经显示的相同项目。

任何人都有任何想法,因为我无法弄清楚如何让它因某种原因运作

2 个答案:

答案 0 :(得分:0)

您尚未再次打开<ul>;只关闭它。改为:

if($counter==2) { echo '</ul></div><div class="column" style="width:50%"><ul>'; $counter=0; }

然后在循环结束后使用</ul></div>。所以完整的代码:

<div class="column" style="width:50%">
            <ul>
            <?php
            $menu1="SELECT * from websitepages where pagetype = 'About' order by pagedesc ASC ";
            $menu2=mysql_query($menu1,$conn) or die(mysql_error());
            $counter=0;
            while($menu3=mysql_fetch_array($menu2))
            {
                $counter++;
                echo '<li><a href="/index.php?p='.$menu3["pagename"].'">'.$menu3["pagedesc"].'</a></li>';
                if($counter==2) { echo '</ul></div><div class="column" style="width:50%"><ul>'; $counter=0; }
            }
            ?>


</ul>
</div>

答案 1 :(得分:0)

如果我理解正确,你可能只是忘了在if中重新打开ul和div;这样做:

 if ($counter==2) {
   echo '</ul></div> <div class="column" style="width:50%"><ul>';
   $counter=0;
 }