子菜单点击列出其他下拉菜单

时间:2018-09-26 06:46:34

标签: php while-loop

我正在开发一个模块,其中导航菜单的一部分必须与关联的下拉菜单/子菜单一起动态添加。就像我的数据库tbl_levels中有一个表,其中保留了两个LEVELS。在每个级别下,都有相关的单位,其详细信息保存在另一个表tbl_question_module中,其中id中的tbl_levels作为列level。我希望这两个级别一个接一个地列出,这就是我正在得到的。现在,当从导航菜单中单击“级别1”或“级别2”时,我想将与每个级别关联的单位列出为下拉列表。我已经实现了以下代码,但是我得到的只是LEVEL1的子菜单,当单击LEVEL 2时,它将再次打开LEVEL 1列表。我可以了解我哪里出错了。这将非常有帮助。

<?php

$sq_lev = $db->query("SELECT id,level_title from tbl_levels WHERE level_status = 1 ");
while($row_lev=mysql_fetch_array($sq_lev))  

{ 
$level_id=$row_lev['id'];
$level_title=$row_lev['level_title '];
?>           
<li data-toggle="collapse" data-target="#products3" class="collapsed"> <a href="#"><span class="glyphicon glyphicon-book"></span><?php echo $level_title; ?><span class="arrow"></span></a>
<ul class="sub-menu collapse" id="products3">

<?php

$sq =   $db->query("SELECT id, title from tbl_question_module WHERE status = 1 AND level = $level_id ");
while($rowM=mysql_fetch_array($sq))

{  ?> 

<li><a href="studyMaterial.php?unit_id=<?php echo $fnc->encode($rowM['id']) ; ?>"><?php echo $rowM['title'] ; ?></a></li>

<?php  } ?> 

</ul> 
</li>  <?php } ?>

1 个答案:

答案 0 :(得分:2)

您必须在循环内动态更新data-target

<li data-toggle="collapse" data-target="#products<?= $level_id ?>" class="collapsed"> <!-- **Changes here**  -->
    <a href="#">
        <span class="glyphicon glyphicon-book"></span>
            <?php echo $level_title; ?>
        <span class="arrow"></span>
    </a>
    <ul class="sub-menu collapse" id="products<?= $level_id ?>"> <!-- **Changes here**  -->
html的

ID 属性在当前页面中始终是唯一的。并且根据jquerydata-target,如果两个以上的元素包含相同的ID,则它始终指向正文中的第一个元素