• php无限分类二


    1.读取数据数据

    /**
         * 所有分类数据
         * */
        public function categoryData(){
            $order = 'id,sort asc';
            $res = $this->db->cache($this->cache)->order($order)->select();
            return $data;
        }

    结构如下

    Array
    (
        [1] => Array
            (
                [id] => 1
                [pid] => 0
                [name] => 新闻40
                [desc] => 
                [is_delete] => 
                [add_time] => 1494938181
            )
    
        [2] => Array
            (
                [id] => 2
                [pid] => 0
                [name] => 图片
                [desc] => 234234
                [is_delete] => 
                [add_time] => 1494938210
            )
    
        [3] => Array
            (
                [id] => 3
                [pid] => 5
                [name] => 234234
                [desc] => 234
                [is_delete] => 
                [add_time] => 1494938931
            )
    
        [4] => Array
            (
                [id] => 4
                [pid] => 1
                [name] => 234234
                [desc] => 
                [is_delete] => 
                [add_time] => 
            )
    
        [5] => Array
            (
                [id] => 5
                [pid] => 4
                [name] => 第4级分类
                [desc] => 
                [is_delete] => 
                [add_time] => 
            )
    
        [6] => Array
            (
                [id] => 6
                [pid] => 1
                [name] => 12312
                [desc] => 3123123
                [is_delete] => 
                [add_time] => 1494943856
            )
    
    )

    2.创建子分类查询

     /**
         * 子分类列表
         * */
        public function pidData($pid=null){
            $result ='';
            $arr = $this->categoryData();
            foreach($arr as $k=>$v){
                if($v['pid'] == $pid){
                    $result[$v['id']] = $v;
                }
            }
            return $result;
        }

    3.无限循环

     /**
         * 分类树
         * */
        public function tree($pid=0){
            $res = $this->pidData($pid);
            if(empty($res)) return false;
            foreach($res as $k=>$v){
                $result[$v['id']] = $v;
    
                $rf = $this->tree($v['id']);
                if($rf){
                    foreach($rf as $k=>$vv){
                        $result[$vv['id']]['id'] = $vv['id'];
                        $result[$vv['id']]['name'] = "   |- ".$vv['name'];
                        $result[$vv['id']]['pid'] = $vv['pid'];
                    }
                }
            }
            return $result;
        }

    最后获得的无限循环结构

    Array
    (
        [1] => Array
            (
                [id] => 1
                [pid] => 0
                [name] => 新闻40
                [desc] => 
                [is_delete] => 
                [add_time] => 1494938181
            )
    
        [4] => Array
            (
                [id] => 4
                [name] =>    |- 234234
                [pid] => 1
            )
    
        [5] => Array
            (
                [id] => 5
                [name] =>    |-    |- 第4级分类
                [pid] => 4
            )
    
        [3] => Array
            (
                [id] => 3
                [name] =>    |-    |-    |- 234234
                [pid] => 5
            )
    
        [6] => Array
            (
                [id] => 6
                [name] =>    |- 12312
                [pid] => 1
            )
    
        [2] => Array
            (
                [id] => 2
                [pid] => 0
                [name] => 图片
                [desc] => 234234
                [is_delete] => 
                [add_time] => 1494938210
            )
    
    )
  • 相关阅读:
    [BZOJ]2132: 圈地计划 最小割
    从最近MySQL的优化工作想到的
    Linux基本操作 9----- 认识与学习bash
    多路径配置vlome group共享存储,VG的更新。
    两位数乘法的速算方法(一)
    请对他有足够的重视——设计!
    ASP.NET中配置应用程序
    flex开发小技巧集锦
    刚制作完的SAP Sybase ASE15.7 [Sybase Central] 客户端
    Static 关键字的 5 种用法,你会几种?
  • 原文地址:https://www.cnblogs.com/wesky/p/6866843.html
Copyright © 2020-2023  润新知