Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Dynamiczna nawigacja skrypt
Forum PHP.pl > Forum > PHP
McGoo123
Znalazłem na sieci skrypt do obsługi dynamicznego menu, ale niestety działa jedynie na plikach jak przerobić taki skrypt żeby korzystał z bazy ?

  1. <?php
  2.    // Main menu items
  3.    $mainMenu['Home']      = 'index.php';
  4.    $mainMenu['Projects']  = 'projects.php';
  5.    $mainMenu['About us']  = 'about.php';
  6.    
  7.    // Sub menu items
  8.    $subMenu['Projects']['Product-1'] = 'product1.php';
  9.    $subMenu['Projects']['Product-2'] = 'product2.php';
  10.    
  11.    $subMenu['About us']['Staff-1']   = 'staff1.php';
  12.  
  13.  
  14.  
  15. class maxNavigation{
  16.  
  17.   function showMenu(){
  18.      global $mainMenu,$subMenu;
  19.      
  20.      $actualPage = $_SERVER['PHP_SELF'];
  21.      $actualPath = $_SERVER['REQUEST_URI'];
  22.      
  23.      $actualPageName = basename($actualPage);
  24.      //echo $page;
  25.      
  26.      //echo "$actualPage <br/> $actualPath";
  27.      $actMenu = '';
  28.       foreach ($mainMenu as $menu => $link) {
  29.            if ($link == $actualPageName) $actMenu = $menu;        
  30.            if (isset($subMenu[$menu])){
  31.               foreach ($subMenu[$menu] as $menuSub => $linkSub) {
  32.                     if ($linkSub == $actualPageName) $actMenu = $menu;        
  33.               }
  34.            }
  35.        }
  36.    
  37.    
  38.        // Now display the menu
  39.        foreach ($mainMenu as $menu => $link) {
  40.          $class = ' class="mainMenuLink" ';
  41.          if ($actualPageName == $link) $class=' class="mainMenuLinkSelected" ';
  42.          
  43.           echo '<a'.$class.'href="'.$link.'">'.$menu.'</a>';
  44.          
  45.           if ( ($actMenu == $menu) && (isset($subMenu[$menu])) ){
  46.               foreach ($subMenu[$menu] as $menuSub => $linkSub) {
  47.                 $class = ' class="subMenuLink" ';
  48.                  if ($actualPageName == $linkSub) $class=' class="subMenuLinkSelected" ';
  49.                     echo '<a'.$class.'href="'.$linkSub.'">'.$menuSub.'</a>';
  50.               }
  51.            }
  52.      }
  53.      
  54.      
  55.   }
  56.  
  57. }
  58.  
  59. $navi = new maxNavigation();
  60. $navi->showMenu();
  61.  
  62. ?>


Macie może jakiś pomysł questionmark.gif
McGoo123
Przerobiłem trochę kod ... ale coś jest nie tak. Co robię nie tak questionmark.gif sciana.gif

  1. <?
  2. class mysql{
  3.                public $host;
  4.                public $login;
  5.                public $pass;
  6.                public $baza;
  7.                public $zap;
  8.                
  9.                public function ustawMysql($zap)
  10.               {global $mainMenu,$subMenu;
  11.                 $this -> host = "localhost";
  12.                
  13.                 $this -> login = "login";
  14.                
  15.                 $this -> pass = "hasło";
  16.                
  17.                 $this -> baza = "1";
  18.                
  19.                 $this -> zapytanie = $zap;
  20.                }
  21.                
  22.                public function menu() {
  23.                global $mainMenu,$subMenu;
  24.                 $sql_conn = mysql_connect($this -> host, $this -> login, $this -> pass);
  25.                  mysql_select_db($this -> baza);
  26.                  $zapytanie = $this -> zapytanie;
  27.                  $result = mysql_query($zapytanie);
  28.  
  29.                while ($row = mysql_fetch_assoc($result)) {
  30.                $id=$row['id'];
  31.                $nazwa=$row['nazwa'];
  32.                $przodek=$row['przodek'];
  33.                $url=$row['link'];
  34.                
  35.                if($przodek>NULL){
  36.                $a2[]="$nazwa";
  37.                $b2[]="$przodek";
  38.                $subMenu = array_combine($a, $b);
  39.                $subMenu[]= $url;
  40.                print_r($subMenu);
  41.                }  
  42.                else {
  43.                $p[]="$nazwa";
  44.                $k[]="$przodek";
  45.                $mainMenu = array_combine($p, $k);  
  46.                  $mainMenu[]= $url;
  47.                  echo "<br />";
  48.                  echo "<br />";
  49.                  echo "<br />";
  50.                print_r($mainMenu);
  51.                }
  52.                
  53.               }
  54.               return $mainMenu[]= "$url";
  55.               return $subMenu[]= "$url";
  56.              
  57.              
  58.               }
  59. }
  60.  
  61. ?>
  62.  
  63. <?php
  64. class maxNavigation{
  65.  
  66.   function showMenu(){
  67.      global $mainMenu,$subMenu;
  68.      
  69.      $actualPage = $_SERVER['PHP_SELF'];
  70.      $actualPath = $_SERVER['REQUEST_URI'];
  71.      
  72.      $actualPageName = basename($actualPage);
  73.      //echo $page;
  74.      
  75.      //echo "$actualPage <br/> $actualPath";
  76.      $actMenu = '';
  77.       foreach ($mainMenu as $menu => $link) {
  78.            if ($link == $actualPageName) $actMenu = $menu;        
  79.            if (isset($subMenu[$menu])){
  80.               foreach ($subMenu[$menu] as $menuSub => $linkSub) {
  81.                     if ($linkSub == $actualPageName) $actMenu = $menu;        
  82.               }
  83.            }
  84.        }
  85.    
  86.    
  87.        // Now display the menu
  88.        foreach ($mainMenu as $menu => $link) {
  89.          $class = ' class="mainMenuLink" ';
  90.          if ($actualPageName == $link) $class=' class="mainMenuLinkSelected" ';
  91.          
  92.           echo '<a'.$class.'href="'.$link.'">'.$menu.'</a>';
  93.          
  94.           if ( ($actMenu == $menu) && (isset($subMenu[$menu])) ){
  95.               foreach ($subMenu[$menu] as $menuSub => $linkSub) {
  96.                 $class = ' class="subMenuLink" ';
  97.                  if ($actualPageName == $linkSub) $class=' class="subMenuLinkSelected" ';
  98.                     echo '<a'.$class.'href="'.$linkSub.'">'.$menuSub.'</a>';
  99.               }
  100.            }
  101.      }
  102.      
  103.      
  104.   }
  105.  
  106. }
  107.  
  108. $mysql = new mysql;
  109. $mysql -> ustawMysql("SELECT * FROM mrn");
  110. $mysql -> menu();
  111.  
  112. $navi = new maxNavigation();
  113. $navi->showMenu();
  114.  
  115. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.