【问题标题】:Css multilevel vertical menu with Php Mysql带有 Php Mysql 的 Css 多级垂直菜单
【发布时间】:2022-01-21 00:38:06
【问题描述】:

我有以下代码用于集成具有无限多级别的类别菜单

<ul id="menu_mb_ul" class="nt_mb_menu">
  <li class="menu-item menu-item-has-children only_icon_false">
    <a href="home-classic.html"><span class="nav_link_txt flex al_center">1 Category</span><span class="nav_link_icon ml__5"></span></a>
    <ul class="sub-menu">

      <li class="menu-item menu-item-has-children only_icon_false">
        <a href="home-header-01.html"><span class="nav_link_txt flex al_center">2 Category</span><span class="nav_link_icon ml__5"></span></a>
        <ul class="sub-sub-menu">
          <li class="menu-item">
            <a href="home-header-01.html">3 Category</a></li>

        </ul>
      </li>
    </ul>
  </li>
</ul>

我的 PHP 代码如下,但它没有显示第三级类别。我哪里错了?

function buildCategory2($parent, $category) {
$html = "";
if (isset($category['parent_cats'][$parent])) {
    if (!isset($category['parent_cats'][$cat_id])) {
        $html .= "<ul id='menu_mb_cat' class='nt_mb_menu'>\n";  
    }
    else
    {
        $html .= "<ul id='menu_mb_cat' class='nt_mb_menu'>\n";  
    }
    foreach ($category['parent_cats'][$parent] as $cat_id) {
        if (!isset($category['parent_cats'][$cat_id])) {
            $html .= "<li class='menu-item'>\n  <a href='" . $category['categories'][$cat_id]['category_link'] . "'>" . $category['categories'][$cat_id]['category_name'] . "</a>\n</li> \n";
        }
        else
        if (isset($category['parent_cats'][$cat_id])) {
            $html .= "<li class='menu-item menu-item-has-children only_icon_false'>\n  <a href='" . $category['categories'][$cat_id]['category_link'] . "'><span class='nav_link_txt flex al_center'>" . $category['categories'][$cat_id]['category_name'] . "</span><span class='nav_link_icon ml__5'></span></a> \n";
            
            $html .= "<ul class='sub-menu'><li class='menu-item'><span class='nav_link_txt flex al_center'>".buildCategory($cat_id, $category)."</span></li>";
            
            $html .= "</li>\n";
                $html .= "</ul>\n";
        }
    }
    $html .= "</ul> \n";
}
return $html;}
echo buildCategory2(0, $category);

【问题讨论】:

  • 你展示的没用,你需要展示你使用的是什么框架,比如bootstrap。您的基于
  • 的菜单是通过 css+js 管理的,您也不显示它们。

标签: php html css mysql menu


【解决方案1】:

我自己找到了解决方案。

function buildCategory2($parent, $category) {
$html = "";
if (isset($category['parent_cats'][$parent])) {
    $html .= " <ul id='menu_mb_ul' class='nt_mb_menu'>\n";
    foreach ($category['parent_cats'][$parent] as $cat_id) {
        if (!isset($category['parent_cats'][$cat_id])) {
            $html .= "<li class='menu-item'>\n  <a href='" . $category['categories'][$cat_id]['category_link'] . "'>" . $category['categories'][$cat_id]['category_name'] . "</a>\n</li> \n";
        }
        if (isset($category['parent_cats'][$cat_id])) {
            $html .= "<li class='menu-item menu-item-has-children only_icon_false'>\n  <a href='" . $category['categories'][$cat_id]['category_link'] . "'><span class='nav_link_txt flex al_center'>" . $category['categories'][$cat_id]['category_name'] . "</span><span class='nav_link_icon ml__5'></span></a><ul class='sub-menu'> \n";
            $html .= "<li class='menu-item'>".buildCategory2($cat_id, $category)."</li>";
            $html .= "</ul> \n";
            $html .= "</li> \n";
        }
    }
    $html .= "</ul> \n";
}
return $html; } echo buildCategory2(0, $category);

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签