创建表

CREATE TABLE goods_types(

id   SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL COMMENT '分类名称',
parent_id SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '父级id'

);

插入一些测试数据

INSERT goods_types(name,parent_id) VALUES('家用电器',DEFAULT);
INSERT goods_types(name,parent_id) VALUES('电脑、办公',DEFAULT);
INSERT goods_types(name,parent_id) VALUES('大家电',1);
INSERT goods_types(name,parent_id) VALUES('生活电器',1);
INSERT goods_types(name,parent_id) VALUES('平板电视',3);
INSERT goods_types(name,parent_id) VALUES('空调',3);
INSERT goods_types(name,parent_id) VALUES('电风扇',4);
INSERT goods_types(name,parent_id) VALUES('饮水机',4);
INSERT goods_types(name,parent_id) VALUES('电脑整机',2);
INSERT goods_types(name,parent_id) VALUES('电脑配件',2);
INSERT goods_types(name,parent_id) VALUES('笔记本',9);
INSERT goods_types(name,parent_id) VALUES('超级本',9);
INSERT goods_types(name,parent_id) VALUES('游戏本',9);
INSERT goods_types(name,parent_id) VALUES('CPU',10);
INSERT goods_types(name,parent_id) VALUES('主机',10);

循环

<?php
    /**
    * $data          原始数据(二维数组)
    * $parent_key    原始数据父级字段
    * $child_key     生成子集的字段
    */
    function treeArray($data,$parent_key,$child_key){
        $tree = [];
        foreach ($data as $key => $val) {
            if ($val[$parent_key] == 0) {
                $tree[] = &$data[$key];
            } else {
                $data[$val[$parent_key]][$child_key][] = &$data[$key];
            }
        }
        return $tree;
    }
?>

标签: none

添加新评论