递归mysql查询实现

 

目录

1、封装递归查询类

2、表格数据


1、封装递归查询类

<?php
/**
 * 递归获取数据库数据
 */
class getChild
{
    public static $province_ids = [];

    /**
     * @param $id
     * @return array
     * 获取子集的所有元素
     */
    public function getChildData($id)
    {
        $this->group_ids[] = $id;
        $this->getChild($id);
        $group_ids = $this->province_ids;
        $this->province_ids = [];
        return $province_ids;
    }

    public function getChild($id){
        $res = Db::name('tb_province')->where(['pid' =>$id])->select();
        if(!empty($res))
        {
            foreach ($res as $key=>$val)
            {
                $this->province_ids[] = $val['id'];
                $this->getChild($val['id']);
            }
        }

    }

}

2、表格数据

表格:tb_province

id name pid
1 安徽 0
2 浙江 0
3 江苏 0
4 马鞍山 1
5 合肥 1
6 芜湖 1
7 六安 1
8 嘉善 2
9 嘉兴 2
10 平湖 2
11 南京 3
12 常州 3
13 镇江

3

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章