我正在用php和bootstrap制作一个网站...我已经从数据库中加载了导航项并对其应用了引导程序样式。我对"下拉列表"类有问题,因为老实说,我不知道如何编写一个 if 语句来执行诸如"如果$subject有$page,请将类下拉列表添加到$subject"之类的操作。$subject是主要的导航项,$page是单击下拉列表时可见的项...现在,当单击没有$page的$subject时,它会显示一个几像素高,约40像素宽的空框。
这是我的代码...
<ul class="nav navbar-nav">
<?php $subject_set = find_all_subjects(); ?>
<?php
while($subject = mysqli_fetch_assoc($subject_set)) {
?>
<?php
echo "<li class='"navitem dropdown" ;
if($subject["id"] == $selected_subject_id) {
echo " active'"" ;
}else{
echo "'"" ;
}
echo ">" ;
?>
<a href="admin.php?subject=<?php echo urlencode($subject["id"]); ?>">
<?php echo $subject["menu_name"]; ?>
</a>
<?php $page_set = find_pages_for_subject($subject["id"]) ; ?>
<ul class="dropdown-menu" role="menu">
<?php
while($page = mysqli_fetch_assoc($page_set)) {
?>
<li>
<a href="admin.php?page=<?php echo urlencode($page["id"]); ?>"><?php echo $page["menu_name"]; ?> </a>
</li>
<?php
}
?>
<?php
mysqli_free_result($page_set);
?>
</ul>
</li>
<?php
}
?>
<?php
mysqli_free_result($subject_set);
?>
</ul>
如果有人能为我编写代码,我将不胜感激...... :)
请记住,我是一个菜鸟...温柔... :)
第一件事是,您可以在进入页面循环后加载子项:
while($subject = mysqli_fetch_assoc($subject_set)) {
$page_set = find_pages_for_subject($subject["id"]);
$nbPages = mysqli_num_rows($page_set);
这样您就可以获得具有$nbPages变量的子项数量
然后,当您输出页面列表时,您将能够确定是否需要下拉类:
echo "<li class='"navitem" . ($nbPages ? 'dropdown' : '') . "'"">;
输出子列表也是如此:
if ($nbPages) {
?>
<ul class="dropdown-menu" role="menu">
....
<?php
}