Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter与mysql多维动态菜单创建?_Php_Codeigniter - Fatal编程技术网

Php Codeigniter与mysql多维动态菜单创建?

Php Codeigniter与mysql多维动态菜单创建?,php,codeigniter,Php,Codeigniter,我正在开发一个网站使用多维动态菜单codeigniter。我正在使用codeigniter和mysql,我有创建菜单,子菜单1,子菜单2。现在,菜单和子菜单1正在加载到网站中,但我尝试加载子菜单2,我遇到了一个问题,我在php中使用了array_push方法。这是我的代码在这个代码我已经加载菜单和子菜单1可以任何机构帮助我如何加载子菜单2也 这是我的查看代码 <div class="collapse navbar-collapse"> <

我正在开发一个网站使用多维动态菜单codeigniter。我正在使用codeigniter和mysql,我有创建菜单,子菜单1,子菜单2。现在,菜单和子菜单1正在加载到网站中,但我尝试加载子菜单2,我遇到了一个问题,我在php中使用了array_push方法。这是我的代码在这个代码我已经加载菜单和子菜单1可以任何机构帮助我如何加载子菜单2也

这是我的查看代码

<div class="collapse navbar-collapse">
                    <ul class="nav navbar-nav">
                        <li class="active"><a href="<?php echo base_url()?>Pixel/index" >Home</a></li>
                         <?php foreach($menus as $menu) { ?>
                            <li id="mainmenu">
                                <a href="#" class="dropdown-toggle" id="<?php echo $menu->m_id; ?>"  data-toggle="dropdown"> <?php echo $menu->menuname; ?> <b class="caret"></b></a>
                                <ul class="dropdown-menu">
                                    <?php
                                    if (isset($menu->children)) {
                                     foreach ($menu->children as $child) {
                                       ?>
                                     <li>
                                        <a href="<?php echo base_url()?>Pixel/corporate" id="submenuone" class="dropdown-toggle"><?php echo $child->submenu_name; ?>
                                        </a>
                                     </li>
                                     <?php
                                      }

                                     } ?>
                               </ul>
                            </li>
                       <?php } ?>
这是我的模型代码

public function populateMenus(){
    $this->db->select("*");
    $this->db->from("menu");
    $q = $this->db->get();
    $final = array();
    if ($q->num_rows() > 0) {
    foreach ($q->result() as $row){
            $this->db->select("*");
            $this->db->from("submenu1");
            $this->db->where("menu_id", $row->m_id);
            $q = $this->db->get();
            if ($q->num_rows() > 0) {
                $row->children = $q->result();
            }
            array_push($final, $row);
        }
    }
     return $final;
   }

这样试试。需要制作多维数组

型号

// $final = array();
if ($q->num_rows() > 0) {
foreach ($q->result() as $row){
        $final[]['menuname'] = $row->menuname;
        $final[]['m_id'] = $row->m_id;
        $this->db->select("*");
        $this->db->from("submenu1");
        $this->db->where("menu_id", $row->m_id);
        $q = $this->db->get();
        if ($q->num_rows() > 0) {
            $final[]['children'] = $q->result();
        }

    }
}
 return $final;
}
查看

<div class="collapse navbar-collapse">
                <ul class="nav navbar-nav">
                    <li class="active"><a href="<?php echo base_url()?>Pixel/index" >Home</a></li>
                     <?php foreach($menus as $key=>$menu) { ?>
                        <li id="mainmenu">
                            <a href="#" class="dropdown-toggle" id="<?php echo $menu['m_id']; ?>"  data-toggle="dropdown"> <?php echo $menu['menuname']; ?> <b class="caret"></b></a>
                            <ul class="dropdown-menu">
                                <?php
                                if (isset($menu['children'])) {
                                 foreach ($menu['children'] as $child) {
                                   ?>
                                 <li>
                                    <a href="<?php echo base_url()?>Pixel/corporate" id="submenuone" class="dropdown-toggle"><?php echo $child->submenu_name; ?>
                                    </a>
                                 </li>
                                 <?php
                                  }

                                 } ?>
                           </ul>
                        </li>
                   <?php } ?>


像这样试试。需要制作多维数组

型号

// $final = array();
if ($q->num_rows() > 0) {
foreach ($q->result() as $row){
        $final[]['menuname'] = $row->menuname;
        $final[]['m_id'] = $row->m_id;
        $this->db->select("*");
        $this->db->from("submenu1");
        $this->db->where("menu_id", $row->m_id);
        $q = $this->db->get();
        if ($q->num_rows() > 0) {
            $final[]['children'] = $q->result();
        }

    }
}
 return $final;
}
查看

<div class="collapse navbar-collapse">
                <ul class="nav navbar-nav">
                    <li class="active"><a href="<?php echo base_url()?>Pixel/index" >Home</a></li>
                     <?php foreach($menus as $key=>$menu) { ?>
                        <li id="mainmenu">
                            <a href="#" class="dropdown-toggle" id="<?php echo $menu['m_id']; ?>"  data-toggle="dropdown"> <?php echo $menu['menuname']; ?> <b class="caret"></b></a>
                            <ul class="dropdown-menu">
                                <?php
                                if (isset($menu['children'])) {
                                 foreach ($menu['children'] as $child) {
                                   ?>
                                 <li>
                                    <a href="<?php echo base_url()?>Pixel/corporate" id="submenuone" class="dropdown-toggle"><?php echo $child->submenu_name; ?>
                                    </a>
                                 </li>
                                 <?php
                                  }

                                 } ?>
                           </ul>
                        </li>
                   <?php } ?>


显示mysql表结构及其摘要content@sintakonte. 第一个表是菜单,字段是M_Id,菜单名第二个表名是子菜单1字段是子菜单Id,菜单Id,子菜单名称,第三个表名是子菜单2字段是smt_Id,菜单Id,子菜单Id,smt_name在我看来,没有理由有3个表格-这是强制性要求还是您有足够的灵活性将其缩减为一个表格-如果有,我可以给您一个答案;)显示您的mysql表结构及其摘要content@sintakonte. 第一个表是菜单,字段是M_Id,菜单名第二个表名是子菜单1字段是子菜单Id,菜单Id,子菜单名称,第三个表名是子菜单2字段是smt_Id,菜单Id,子菜单Id,smt_name在我看来,没有理由有3个表格-这是强制性要求还是您有足够的灵活性将其缩减为一个表格-如果有,我可以给您一个答案;)@是的,我尝试上面的代码。。。这是我的表格详细信息第一个表格是菜单,字段是M_Id,菜单名称第二个表格名称是子菜单1字段是子菜单Id,菜单Id,子菜单名称,第三个表格名称是子菜单2字段是smt_Id,菜单Id,子菜单Id,smt_name@yes嘿,我试试上面的代码。。。这是我的表格详细信息第一个表格是菜单,字段是M_Id,菜单名称第二个表格名称是子菜单1字段是子菜单Id,菜单Id,子菜单名称,第三个表格名称是子菜单2字段是smt_Id,菜单Id,子菜单Id,smt_名称