无限极分类

实例代码是使用的yii1框架


    public function actionTest() {
        $data = Yii::app()->db->createCommand(
            "select * from bg_cate"
        )->queryAll();
        $tree = $this->tree($data,0);
        echo "
";
        print_r($tree);
    }

    public function tree($data, $pid) {
        $tree = [];
        foreach ($data as $val) {
            if ($val['cate_ParentId'] == $pid) {
                $tree[$val['cate_Id']] = $val;
                $tree[$val['cate_Id']]['child'] = $this->tree($data,$val['cate_Id']);
            }
        }
        return $tree;
    }

数据结构如下:

CREATE TABLE `bg_cate`
(
  `cate_Id`       int(30) unsigned NOT NULL AUTO_INCREMENT,
  `cate_ParentId` int(30) unsigned DEFAULT '0',
  `cate_Name`     varchar(100)     NOT NULL,
  `cate_Intro`    varchar(500)     DEFAULT NULL,
  `cate_Order`    int(30) unsigned DEFAULT '0',
  `cate_Icon`     varchar(100)     DEFAULT NULL,
  PRIMARY KEY (`cate_Id`)
) ENGINE = MyISAM
  DEFAULT CHARSET = utf8
  AUTO_INCREMENT = 34;
--
-- 导出表中的数据 `bg_cate`
--
INSERT INTO `bg_cate` (`cate_Id`, `cate_ParentId`, `cate_Name`, `cate_Intro`, `cate_Order`, `cate_Icon`)
VALUES (4, 0, '往事如风', '记录往事', 0, 'icons/6.gif'),
       (5, 0, '水煮三国', '品位三国智慧', 0, 'icons/3.gif'),
       (2, 0, '技术学习', '平时学习的一些笔记,欢迎批评指正。', 0, 'icons/18.gif'),
       (3, 0, '生活点滴', '记录生活点滴', 0, 'icons/2.gif'),
       (6, 0, '栀子花开', '青春无限', 0, 'icons/8.gif'),
       (7, 0, '假日休闲', '悠闲、自在', 0, 'icons/24.gif'),
       (8, 2, 'html', 'html学习', 0, 'icons/1.gif'),
       (9, 2, 'css', 'css学习', 0, 'icons/1.gif'),
       (10, 2, 'php', 'php学习', 0, 'icons/18.gif'),
       (11, 10, 'php基础知识', 'php基础知识', 0, 'icons/1.gif'),
       (12, 10, 'oop', 'oop', 0, 'icons/1.gif'),
       (13, 10, 'php安全', '讲述php安全', 0, 'icons/1.gif'),
       (14, 10, 'seagull framework', 'seagull framework', 0, 'icons/1.gif'),
       (15, 2, 'javascript', 'javascript学习', 0, 'icons/1.gif'),
       (16, 2, '设计模式', NULL, 0, 'icons/1.gif'),
       (17, 2, '软件工程', '软件工程学习', 0, 'icons/1.gif'),
       (18, 3, '厦门生活', '厦门生活', 0, 'icons/8.gif'),
       (19, 3, '大学生活', '大学生活', 0, 'icons/8.gif'),
       (20, 3, '童年生活', '童年生活', 0, 'icons/15.gif'),
       (21, 19, '学习', '学习', 0, 'icons/1.gif'),
       (22, 19, '运动', '运动', 0, 'icons/16.gif'),
       (23, 19, '旅游', '旅游', 0, 'icons/24.gif'),
       (24, 22, '排球', '排球', 0, 'icons/9.gif'),
       (25, 22, '篮球', '篮球', 0, 'icons/9.gif'),
       (26, 22, '羽毛球', '羽毛球', 0, 'icons/9.gif'),
       (27, 22, '乒乓球', '乒乓球', 0, 'icons/9.gif');

参考 https://blog.csdn.net/qq_29058883/article/details/78742170

你可能感兴趣的:(无限极分类)