首页 > 其他 > 详细

无限极分类

时间:2019-03-09 21:09:16      阅读:177      评论:0      收藏:0      [点我收藏+]

原理: 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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!