我的导航栏有以下代码...(子菜单位 - 下拉列表)
<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个项目时,它关闭然后重新打开它并启动一个新列并再次显示相同数量的项目,但显然不是已经显示的相同项目。
任何人都有任何想法,因为我无法弄清楚如何让它因某种原因运作
答案 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;
}