2017-03-03 85 views
-1

你好我正嘗試從我的數據庫創建一個動態菜單。已經看到了很多例子,但我似乎不明白他們。這是我的數據庫看起來像從mysql數據庫創建動態菜單

CREATE TABLE IF NOT EXISTS `menu_main` (
`menu_id` int(11) NOT NULL AUTO_INCREMENT, 
`menu_name` varchar(50) NOT NULL, 
`menu_link` varchar(50) NOT NULL, 
`parent_id` varchar(50) NOT NULL, 
PRIMARY KEY (`menu_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; 

這有什麼想實現

<ul class="nav navbar-nav"> 
      <li class="active"><a href="index.php">Home</a></li> 
      <li><a href="#">All Products<span class="caret"></span></a> 
      <ul class="dropdown-menu"> 
       <li><a href="#">shoes</a></li>    
       <li><a href="#">cloth</a></li> 
       <li><a href="#">electronics</a></li> 
       <li><a href="#">furniture<span class="caret"></span></a> 
       <ul class="dropdown-menu"> 
        <li><a href="#">chairs</a></li> 
        <li><a href="#">stand</a></li> 
        <li><a href="#">pocher</a></li>   
       </ul> 
       </li> 
      </ul> 
      </li> 
     <li><a href="#">Mission</a></li> 

      <li><a href="#">Order</a></li>  

      <li><a href="#">About Us </a></li> 
     </ul> 
+4

您需要向我們展示你的嘗試。 SO不是免費的編碼服務。我們很樂意爲您提供_existing_代碼,但我們不會爲您完成所有工作。 –

回答

1

這裏是SQL

CREATE TABLE `menu` (
    `id` int(11) NOT NULL auto_increment, 
    `label` varchar(50) NOT NULL default '', 
    `link` varchar(100) NOT NULL default '#', 
    `parent` int(11) NOT NULL default '0', 
    `sort` int(11) default NULL, 
PRIMARY KEY (`id`), 
) ENGINE=MyISAM AUTO_INCREMENT=248 DEFAULT CHARSET=latin1; 

PHP函數

function display_children($parent, $level) { 
    $result = mysql_query("SELECT a.id, a.label, a.link, Deriv1.Count FROM `menu` a LEFT OUTER JOIN (SELECT parent, COUNT(*) AS Count FROM `menu` GROUP BY parent) Deriv1 ON a.id = Deriv1.parent WHERE a.parent=" . $parent); 
    echo "<ul>"; 
    while ($row = mysql_fetch_assoc($result)) { 
     if ($row['Count'] > 0) { 
      echo "<li><a href='" . $row['link'] . "'>" . $row['label'] . "</a>"; 
      display_children($row['id'], $level + 1); 
      echo "</li>"; 
     } elseif ($row['Count']==0) { 
      echo "<li><a href='" . $row['link'] . "'>" . $row['label'] . "</a></li>"; 
     } else; 
    } 

    echo "</ul>"; 
} 
+1

請格式化代碼,並正確解釋代碼。 –

+0

beta nam tik kor。 na hoyle khabor ase。 –

+1

一個很好的答案包括一個詳細的描述,而不僅僅是一段代碼。爲什麼OP應該使用這個?它有什麼作用?結果是什麼?等等... –