简体   繁体   English

带有 slug 值的动态下拉菜单和子菜单 php mysqli

[英]Dynamic Drop Down Menu and submenu php mysqli with slug value

I have a menu that needs to be created dynamically from the database.我有一个需要从数据库动态创建的菜单。 need to have menu and submenu需要有菜单和子菜单

for example (what i want is ):例如(我想要的是):

 <li class="<?= ($pg == 'departments') ? 'active':''; ?>"> <a href="departments">Departments</a> <ul class="dropdown"> <li> <a href="department">CSE</a><br> <a href="department">ECE</a> <ul class="dropdown dropdown-right"> <li ><a href="department?slug=about-cse-department">About The Department</a></li> <li ><a href="head-of-department?slug=about-cse-hod">HOD</a></li> <li ><a href="department-vision-mission?slug=about-cse-vision-mision">Vision &amp; Mission</a></li> <li ><a href="department-facilities?slug=about-cse-department-facility">Department Facilities</a></li> <li ><a href="department-goals?slug=about-cse-department-goals">Department Goals</a></li> <?php } } ?> </ul> </li> <?php } ?> </ul> </li>

main Departments and the submenu is CSE, ECE, EEE, CIVIL and each submenu i have below dropdown menu will came and in mysqli table also i will create and store data and slug names.And also drowndown menu will repeated please find below attachment.主要部门和子菜单是 CSE、ECE、EEE、CIVIL,我在下拉菜单下面的每个子菜单都会出现在 mysqli 表中,我还将创建和存储数据和 slug 名称。而且下拉菜单会重复,请在下面的附件中找到。

My answer is我的答案是

Department-> CSE->About The Department Department-> ECE->About The Department部门-> CSE->关于部门 部门-> ECE->关于部门

Department-> CSE->HOD Department-> ECE->HOD部门-> CSE->HOD 部门-> ECE->HOD

with each one only single menu.每一个只有一个菜单。 在这张图片中你可以看到下拉菜单重复了我没有重复每个菜单会不同的slug

My Code is我的代码是

    <li class="<?= ($pg == 'departments') ? 'active':''; ?>">
   <a href="departments">Departments</a>
   <ul class="dropdown">
      <?php $sql2 ="SELECT  * from  `departments` ";
         $result2 = $conn->query($sql2);
           while($row2 = $result2->fetch_assoc())
             {
               $department = $row2['dept_name']; ?>
      <li>
         <a href="department"><?=$department;?></a><!-- Department Names as shoen image-->
         <ul class="dropdown dropdown-right">
            <?php  $sql3 ="SELECT  * from  `page` WHERE page_department = '$department' ";
               $result3 = $conn->query($sql3);
               while($row3 = $result3->fetch_assoc())
               {
                  $pname = $row3['page_name'];
                    echo $slug = $row3['page_slug']; ?>
            <li ><a href="department?slug=<?=$slug;?>">About The Department</a></li>
            <li ><a href="head-of-department?slug=<?=$slug;?>">HOD</a></li>
            <li ><a href="department-vision-mission?slug=<?=$slug;?>">Vision &amp; Mission</a></li>
            <li ><a href="department-facilities?slug=<?=$slug;?>">Department Facilities</a></li>
            <li ><a href="department-goals?slug=<?=$slug;?>">Department Goals</a></li>
            <li ><a href="department-faculty?slug=<?=$slug;?>">Faculty</a></li>
            <li ><a href="department-publications?slug=<?=$slug;?>">Faculty Publications</a></li>
            <li ><a href="department-syllabus?slug=<?=$slug;?>">Syllabus</a></li>
            <li ><a href="department-workshops-seminars?slug=<?=$slug;?>">Workshops</a></li>
            <li ><a href="department-student-toppers?slug=<?=$slug;?>">Student Toppers</a></li>
            <?php } } ?>
         </ul>
      </li>
      <?php } ?>
   </ul>
</li>

in the above code running like image can i upload this type will came.在上面的代码中像图像一样运行,我可以上传这种类型吗?

my tables of department and page tables look like this我的部门表和页表看起来像这样部门和页面

页表

you are repeating complete menu in while loop so its showing multiple time, as you already fetching sub menu by table then just create a single link and fetch related sub menu name and url with database but as i found you have different hrefs on your sub menu so you placed multiple links in submenu here you need to update your page table , you need to create a column as code below ,  hope this work:

    <li class="<?= ($pg == 'departments') ? 'active':''; ?>">
    <a href="departments">Departments</a>
    <ul class="dropdown">
      <?php $sql2 ="SELECT  * from  `departments` ";
         $result2 = $conn->query($sql2);
           while($row2 = $result2->fetch_assoc())
             {
               $department = $row2['nit_dept_name']; ?>
      <li>
         <a href="department"><?=$department;?></a><!-- Department Names as shoen image-->
         <ul class="dropdown dropdown-right">
            <?php  $sql3 ="SELECT  * from  `page` WHERE page_department = '$department' ";
               $result3 = $conn->query($sql3);
               while($row3 = $result3->fetch_assoc())
               {
                  $pname = $row3['page_name'];
                  $slug = $row3['page_slug']; 
                  $href= $row3['href']; //create a column in page table for href 


             ?>
            <li ><a href="<?php echo $href;?>?slug=<?=$slug;?>"><?php echo $pname;?></a></li>

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

your repeating while loop once check this你重复while循环一次检查这个

<ul class="dropdown">
  <?php $sql2 ="SELECT  * from  `departments` ";
     $result2 = $conn->query($sql2);
       while($row2 = $result2->fetch_assoc())
         {
           $department = $row2['nit_dept_name']; ?>
  <li>
     <a href="department"><?=$department;?></a><!-- Department Names as shoen image-->
     <ul class="dropdown dropdown-right">
        <?php  $sql3 ="SELECT  * from  `page` WHERE page_department = '$department' ";
           $result3 = $conn->query($sql3);
           while($row3 = $result3->fetch_assoc())
           {
              $pname = $row3['page_name'];
              $slug = $row3['page_slug']; 
              $href= $row3['href']; //create a column in page table for href 


         ?>
        <li ><a href="<?php echo $href;?>?slug=<?=$slug;?>"><?php echo $pname;?></a></li>

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM