美文网首页
TP树形无限分类

TP树形无限分类

作者: 风度翩翩的程序猿 | 来源:发表于2020-05-25 15:20 被阅读0次

php的无线分类

应该有很多人都知道这个知识点,在咱们工作和学习中,无限分类是必不可缺少的,如咱们写一个最基本的后台,都是有分级菜单的,一级,二级。。。。复杂的还有三级菜单(用的比较少)。还有像咱们如果写一个文章,商城商品的分类,都会用到这个知识点,话说我之前刚听说这个无线分类的时候,也是一脸懵逼,在你没有接触任何事情的时候,都会感觉到陌生,但是一旦接触了以后,孰能生巧,想忘都忘不了,前提是得扎牢。

接下来我来为大家解释无线分类具体怎么做:
下面先看一下数据库的结构


2019032614170462.png

parent_id其实就是父级id 也就是咱们常说的pid
接下来先写一个接口,获取表中的数据

 public function test(){
        $list = db('department')
            ->where('company_id=26')
            ->select();

        }
        return json(['code'=>200,'message'=>'获取成功', 'data' => $list]);
    }

从表中我们可以看到

data    
0   
id  1
company_id  26
dep_name    "斑马售后部"
parent_id   0
1   
id  3
company_id  26
dep_name    "斑马开发部"
parent_id   0
2   
id  4
company_id  26
dep_name    "斑马销售部"
parent_id   0
3   
id  7
company_id  26
dep_name    "开发一部"
parent_id   3
4   
id  10
company_id  26
dep_name    "开发二部"
parent_id   3
5   
id  12
company_id  26
dep_name    "UI一部"
parent_id   3
6   
id  14
company_id  26
dep_name    "售后一部"
parent_id   1
7   
id  23
company_id  26
dep_name    "售后二部"
parent_id   1
8   
id  28
company_id  26
dep_name    "销售A组"
parent_id   4
9   
id  29
company_id  26
dep_name    "销售B组"
parent_id   4
10  
id  33
company_id  26
dep_name    "fdsaf"
parent_id   12

这样的数据,会让我们开发人员,看着很头疼的

我们希望把父级菜单放到最顶部,在父栏目里有子栏目,子栏目有孙子栏目。。。。。这样可以无限分类下去。
看一下各个字段的关系,根据parent_id(父级id)可以找到父亲id。咱们可以这样写

public function getTree($list,$pid)
    {
        $tree = array();
        foreach($list as $k => $v)
        {
            if($v['parent_id'] == $pid)
            {         //父亲找到儿子
                $v['child'] = $this->getTree($list, $v['id']);
                $tree[] = $v;
            }
        }
        return $tree;
    }

 public function test(){
        $list = db('department')
            ->where('company_id=26')
            ->select();

        $tree = array();
        if (is_array($list)) {
            $tree = $this->getTree($list,0); // 调用getTree()函数
        }
        return json(['code'=>200,'message'=>'获取成功', 'data' => $tree]);
    }

2222.png

这样基本上就可以实现了,很实用,建议收藏!!!!!

相关文章

  • TP树形无限分类

    php的无线分类 应该有很多人都知道这个知识点,在咱们工作和学习中,无限分类是必不可缺少的,如咱们写一个最基本的后...

  • PHP无限级分类(一)

    无限级分类在web项目中应用非常广泛,比如商品分类、权限节点、组织架构等等。下面介绍两种将二维数组整理成无限级树形...

  • PHP树形结构无限级分类

    参考地址:https://bubaijun.com/page.php?id=140https://learnku....

  • PHP无限级分类(二)

    在 PHP无限级分类(一) 中,我们介绍了两种简单的无限级分类构造方法。下面介绍一种从树形结构中获取子结构的方法:...

  • 20170802 TRee Map

    巧用树形图 便于分类整理 梳理头绪 节约时间 随堂作业 作业 汉字分类 作业2垃圾分类 树形图 偏重梳理 分类 气...

  • tp5 无限极分类

    public function getTrees($arr,$pid,$step = 0){ global $...

  • 模型的评估指标

    分类指标: 准确率 accuracy 查准率 precision = TP/(TP+FP) 查全率 recall ...

  • 评估指标与评分

    一、二分类指标 1、混淆矩阵 精度 (TP+TN)/(TP+TN+FP+FN) 准确率 (TP)/(TP+FP) ...

  • 【思维导图八个图示之-树形图】

    树形图-分类思维,表示分类的思维过程,能够帮助孩子对事物或信息进行分类和归纳。 利用树形图作某座城市的旅游攻略,可...

  • 性能度量

    分类中使用错误率和精度 查准率(precision),查全率(recall) P = TP/(TP+FP) R= ...

网友评论

      本文标题:TP树形无限分类

      本文链接:https://www.haomeiwen.com/subject/txuyahtx.html