1

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

<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 个项目时,它会关闭然后重新打开它并开始一个新列并再次显示相同数量的项目,但显然不是已经显示的相同项目。

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

4

2 回答 2

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>
于 2013-03-30T23:15:21.243 回答
0

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

 if ($counter==2) {
   echo '</ul></div> <div class="column" style="width:50%"><ul>';
   $counter=0;
 }
于 2013-03-30T23:17:03.953 回答