Advertisement
LucianoCharles2017

menu-dinamico

Nov 9th, 2018
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.69 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="pt-BR">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7.     <title>Menu</title>
  8.  
  9.     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
  10. </head>
  11. <body>
  12.     <nav class="navbar navbar-expand-lg navbar-light bg-light">
  13.         <a class="navbar-brand" href="#">Navbar</a>
  14.         <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
  15.             <span class="navbar-toggler-icon"></span>
  16.         </button>
  17.  
  18.         <div class="collapse navbar-collapse" id="navbarSupportedContent">
  19.             <ul class="navbar-nav mr-auto">
  20.                 <li class="nav-item active">
  21.                     <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
  22.                 </li>
  23.  
  24.                 <?php
  25.                     $host = 'localhost';
  26.                     $user = 'root';
  27.                     $pass = '';
  28.                     $dbname = 'frame_grupo';
  29.                     $link = mysqli_connect($host,$user,$pass,$dbname);
  30.                     mysqli_set_charset($link,'utf8');
  31.  
  32.                     $sql = "SELECT * FROM menu";
  33.                     $query = mysqli_query($link, $sql);
  34.  
  35.                     $menu = null;
  36.                     $sub = null;
  37.                     while($row = mysqli_fetch_array($query)){
  38.                         if(strpos($row['nivelmenu'],'.')){
  39.                             $sub[] = [
  40.                                 'nivel' => $row['nivelmenu'],
  41.                                 'descricao' => $row['descricao']
  42.                             ];
  43.                         }else{
  44.                             $menu[] = [
  45.                                 'nivel' => $row['nivelmenu'],
  46.                                 'descricao' => $row['descricao']
  47.                             ];
  48.                         }
  49.                     }
  50.  
  51.                 foreach($menu as $m){ ?>
  52.  
  53.                 <li class="nav-item dropdown">
  54.                     <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  55.                         <?php echo $m['descricao']; ?>
  56.                     </a>
  57.  
  58.                     <div class="dropdown-menu" aria-labelledby="navbarDropdown">
  59.                    
  60.                         <?php foreach($sub as $s){
  61.                                
  62.                                 if(substr($s['nivel'],0,1) == $m['nivel']){?>
  63.  
  64.                                     <a class="dropdown-item" href="#"><?php echo $s['descricao'];?></a>
  65.  
  66.                                 <?php }
  67.                         }?>
  68.                     </div>
  69.                 </li>
  70.                 <?php } ?>
  71.             </ul>
  72.         </div>
  73.     </nav>
  74.  
  75.     <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
  76.     <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
  77.     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
  78. </body>
  79. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement