遞歸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

 

 

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