Php动态菜单栏代码错误

标签 php mysql dynamic menu navigation

我在使我的栏中的链接正常工作时遇到问题,数据库设置如下 my 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");

到:

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

关于Php动态菜单栏代码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7310738/

相关文章:

php 视频上传和 ffmpeg 不会创建缩略图

php - 保持变量在函数之间保持不变

php - Laravel Eloquent : How does it work? 基于动态模式元数据查找 = 性能?

C 动态 3D 阵列存储器

php - 替换重音字符php

php - 不允许更新 php 中的空文本框

php - $conn->query(...) 的结果是否可以为 0 条记录不为空

ruby-on-rails - 动态 Rails 助手(例如 link_to 方法、方法)

c# - C#4 中的动态关键字是否支持扩展方法?

php - 在 Woocommerce 中使用电子邮件 ID 定位特定电子邮件