【问题标题】:i want to get Hierarchical structure of category and subcategory for nth level in one mysql query我想在一个mysql查询中获得第n级的类别和子类别的层次结构
【发布时间】:2015-02-27 15:57:06
【问题描述】:

我想在一个 mysql 查询中获得第 n 级的类别和子类别的层次结构,我尝试了一些解决方案,但它不能正常工作。 我尝试以下查询,但它只获得子类别,但是,我希望它来自一个表的第 n 级,例如

类别|子类别|子子类别|......

我的表是fd_category,它的字段是

id|name|parent_id FK -> fd_category.id  



 select c.id
      , c.name
      , group_concat(sc.name) as subcategory 
  from fd_category c 
  join fd_category sc 
   on c.id=sc.parent_id 
 where c.parent_id=null 
 group 
   by sc.parent_id;

【问题讨论】:

    标签: php mysql drop-down-menu menu submenu


    【解决方案1】:

    public function get_menu() {
           $this->db->select('id,name,parent_id');
            $menu = $this->db->get('category')->result_array();
            $data=$this->menu_child($menu);
            //print_r($data);        
            return $data;
        } 
    function menu_child($menu, $parent = NULL) {
           $main_menu = array_filter($menu, function($a)use($parent) {
                       return $a['parent_id'] == $parent;
                   });
           if ($main_menu) {
               foreach ($main_menu as $key => $value) {
                   $main_menu[$key]['sub_menu'] = $this->menu_child($menu, $value['id']);
               }
           }
           return $main_menu;
        }  

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      • 1970-01-01
      • 2020-10-20
      • 1970-01-01
      • 2012-12-17
      相关资源
      最近更新 更多