栏目无限分类展示

这个说难不难,说容易也不容易,今天看了视频,正好有讲到这一点,那接下来我给你们唠唠该怎么实现。

先上效果图

我们来看一下表结构,cat_id是栏目id,parent_id是判断这个栏目有没有父级栏目,parent_id=0表示它是父级栏目,没有子栏目。

这下我们就有思路了,简单来说就是先查询父级id,然后parent_id=cat_id去查询有没有它的子级栏目。

简单粗暴直接上查询代码

<?php
    namespace Admin\Model;
    use Think\Model;

    class CatModel extends Model{
        public function getTree($p = 0 ,$lv=0){
            $t=array();//定义一个数组存放数据

            foreach ($this->select() as $k=>$v){
                if($v['parent_id']==$p){//先查询父级栏目
                    $v['lv']=$lv;
                    $t[]=$v;
                    $t=array_merge($t,$this->getTree($v['cat_id'],$lv+1));
                    //把两个数组合并为一个数组
                }
            }
            return $t;
        }
    }

$lv是让它到时在页面显示缩进用的

好了,暂时写这么多。( •̀ ω •́ )

扫描二维码关注公众号,回复: 1597265 查看本文章

猜你喜欢

转载自www.cnblogs.com/zxcnb/p/9184759.html