博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
无限级分类
阅读量:6688 次
发布时间:2019-06-25

本文共 930 字,大约阅读时间需要 3 分钟。

原理: pid = 0 的字段为顶级分类, 次级分类的 pid 则为上一级分类的 id, 以此类推来实现无限极分类

无限极分类建表

CREATE TABLE category (

  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,

  `name` VARCHAR(32) NOT NULL DEFAULT '',

  `pid` INT(5) NOT NULL,

  ......

)Engine=InnoDB DEFAULT CHARSET='utf8';

 

public function tree($data, $parentid = 0, $space = 0) {

        $tree = [];

// 字符串重复的次数

        $space += 1;
        if (!empty($data)) {
            foreach ($data as $key => $value) {
                if ($value['parentid'] == $parentid) {
                    if ($value['parentid'] != 0) {
                        $value['title'] = str_repeat("—", $space) . $value['title'];
                    }
                    $tree[] = $value;

      // 将父id为0的数据的id作为参数实现递归

                    $tree = array_merge($tree, $this->tree($data, $value['id'], $space));
                }
            }
        }
        return $tree;
    }

 // 处理已获得的数据

    public function listDown($data) {
        $list = [0 => '————请选择————'];
        if (!empty($data)) {
            foreach ($data as $key => $value) {
                $list[$value["id"]] = $value['title'];
            }
        }
        return $list;
    }

转载于:https://www.cnblogs.com/AI-geek/p/10502899.html

你可能感兴趣的文章
Node.js 9 新特性整理
查看>>
spring boot +RabbitMQ +InfluxDB+Grafara监控实践
查看>>
VR和云服务,使出洪荒之力也难擦出火花
查看>>
向div添加圆角边框
查看>>
马斯克的另一番“威胁论”:人类将成为人工智能的“宠物”
查看>>
逸鹏说道:漫漫人生路
查看>>
Python 正则表达式(字符)详解
查看>>
微信小程序开发工具使用简介
查看>>
基于云计算的软件是否适合企业不同需求?
查看>>
大数据可能“说谎”,非结构化数据将呈现更丰富的世界
查看>>
10幅图解释机器学习中的基本概念
查看>>
上传图片到图片服务器上
查看>>
Linux 系统监控常用命令
查看>>
Slab,小对象也能搞出大事情
查看>>
VMWare14 安装Mac OS系统(图解)
查看>>
VR影视“万事俱备只欠东风”,它会成为下一个内容发展的风口吗?
查看>>
Kali Linux 网络扫描秘籍 第三章 端口扫描(一)
查看>>
6大历史遗留问题,将被区块链技术解决
查看>>
Installation failed with message INSTALL_FAILED_UID_CHANGED.--APK安装失败解决方法
查看>>
锐捷网络中标农行全国WLAN项目 助推“网点优势“转为“网络优势”
查看>>