Php动态菜单栏代码错误


Php Dynamic Menubar code error

我有一个问题,使链接在我的酒吧工作正常的数据库是这样设置我的db http://bloodkittens.com/resources/upload/db.png

<?php 
error_reporting(E_ALL);
ini_set('display_errors', '1');
mysql_connect("localhost", "dbuser", "******");
mysql_select_db("guild");
// prepare special array with parent-child relations
$menuData = array(
'items' => array(),
'parents' => array()
);
$result = mysql_query("SELECT  id_menu id, parentID_menu parentId, label_menu name FROM main_menu` ORDER BY parentID_menu"); 
while ($menuItem = mysql_fetch_assoc($result))
{
$menuData['items'][$menuItem['id']] = $menuItem;
$menuData['parents'][$menuItem['parentId']][] = $menuItem['id'];
}
// menu builder function, parentId 0 is the root
function buildMenu($parentId, $menuData)
{
$html = '';
$parent='';
if (isset($menuData['parents'][$parentId]))
{
    $menuClass= ($parentId==0) ? ' class="navbar" id="navbar"' : '';
    $parent= ($parentId==0) ? 0 : 1;    
    $html = "<ul{$menuClass}>'n";
    foreach ($menuData['parents'][$parentId] as $itemId)
    {
        //subment
        $result=mysql_query("select * from main_menu where parentID_menu='$itemId'");
        if (mysql_num_rows($result)>(int)0 && $parentId!=0) {
            $subm  =' class="navbar"';
        }else{
           $subm  ='';
        }
        //end
        $menu = $parentId == 0 ? ' class="menulink"' : '';      //class of main menu
        $html .= '<li>' . "<a{$subm}{$menu} href='"#'" >{$menuData['items'][$itemId]['name']}</a>";
        // find childitems recursively
        $html .= buildMenu($itemId, $menuData);
        $html .= '</li>';
    }
    $html .= '</ul>';
}
return $html;
}
// output the menu
echo buildMenu(0, $menuData);
?>

我将如何使它,使值link_menu将是在数据库中的每个单独条目的代码中的href ?而不是''#'',因为代码完全工作,我很高兴它的样子后,我应用我的CSS,但链接不起作用

工作菜单排序必须在表中添加一个新字段,然后从

更改这个查询
$result = mysql_query("SELECT id_menu id, parentID_menu parentId, label_menu name,  link_menu link FROM main_menu ORDER BY parentID_menu");

to:

$result = mysql_query("SELECT id_menu id, parentID_menu parentId, label_menu name,  link_menu link  FROM main_menu  ORDER BY menu_sort");

你似乎从来没有选择过它

$result = mysql_query("SELECT id_menu id, parentID_menu parentId, label_menu, link_menu, name FROM main_menu ORDER BY parentID_menu"); 

然后. .

$html .= '<li>' . "<a{$subm}{$menu} href='"{$menuData['items'][$itemId]['link_menu']}'" >{$menuData['items'][$itemId]['name']}</a>";

代替href='"#'" >,使用如下:

href='"{$menuData['items'][$itemId]['link_menu']}'" >

我使用的代码最终是这样的,我认为我让它工作纯粹是运气,但无论如何我赢了:)

<?php 
error_reporting(E_ALL);
ini_set('display_errors', '1');
mysql_connect("localhost", "BloodKittens", "Zangoshi1");
mysql_select_db("bloodkittens");
// prepare special array with parent-child relations
$menuData = array(
'items' => array(),
'parents' => array(),
'links' => array()
);
 $result = mysql_query("SELECT id_menu id, parentID_menu parentId, label_menu name,  link_menu link FROM main_menu ORDER BY parentID_menu");
while ($menuItem = mysql_fetch_assoc($result))
{
$menuData['items'][$menuItem['id']] = $menuItem;
$menuData['parents'][$menuItem['parentId']][] = $menuItem['id'];
$menuData['links'] = $menuItem['link'];
}
// menu builder function, parentId 0 is the root
function buildMenu($parentId, $menuData)
 {
$html = '';
$parent='';
if (isset($menuData['parents'][$parentId]))
{
    $menuClass= ($parentId==0) ? ' class="navbar" id="navbar"' : '';
    $parent= ($parentId==0) ? 0 : 1;    
    $html = "<ul{$menuClass}>'n";
    foreach ($menuData['parents'][$parentId] as $itemId)
    {
        //subment
        $result=mysql_query("select * from main_menu where parentID_menu='$itemId'");
        if (mysql_num_rows($result)>(int)0 && $parentId!=0) {
            $subm  =' class="navbar"';
        }else{
           $subm  ='';
        }
        //end
        $menu = $parentId == 0 ? ' class="menulink"' : '';      //class of main menu
        $html .= '<li>' . "<a{$subm}{$menu} href='"{$menuData['items'][$itemId]['link']}'" >{$menuData['items'][$itemId]['name']}</a>";
        // find childitems recursively
        $html .= buildMenu($itemId, $menuData);
        $html .= '</li>';
    }
       $html .= '</ul>';
   }
   return $html;
 }
// output the menu
echo buildMenu(0, $menuData);
?>