我們有時候需要將分類資料按樹狀效果展示出來,能一眼就看出來層級的組織關係,實現如下:
注意:我所講的分類為無限極分類 ,如下的函式所涉及的表欄位名有三個 id pid name ,如果有定義名稱不同請查詢分類列表資料時對應給字段取別名對應上 id pid name ,比如 你的pid 表欄位名定義為 parent_id 那麼查詢時 給該字段取別名為 "parent_id as pid ";
函式如下:
/**
* $list 為查詢 出來的二維陣列
**/function gettree($list,$pid=0,$itemprefix = '')
}if($brothercount >0) else
$spacer = $itemprefix ? $itemprefix . $j : '';
$row['name'] = $spacer.$row['name'];
$arr = $row;
$number++;
gettree($list,$row['id'],$itemprefix . $k . $nbsp);}}
}return $arr;
}
使用示例:
<?php
header("content-type:text/html;charset=utf8");
function gettree($list,$pid=0,$itemprefix = '')
}if($brothercount >0) else
$spacer = $itemprefix ? $itemprefix . $j : '';
$row['name'] = $spacer.$row['name'];
$arr = $row;
$number++;
gettree($list,$row['id'],$itemprefix . $k . $nbsp);}}
}return $arr;
}//$list 模擬資料庫查詢出來的資料
$list = array();
$list = [
['id'=>1,'pid'=>0,'name'=>'總經理'],
['id'=>9,'pid'=>7,'name'=>'人事二組職員2'],
['id'=>2,'pid'=>1,'name'=>'人事部經理'],
['id'=>3,'pid'=>2,'name'=>'人事一組長'],
['id'=>13,'pid'=>12,'name'=>'技術一組職員1'],
['id'=>4,'pid'=>3,'name'=>'人事一組職員1'],
['id'=>5,'pid'=>3,'name'=>'人事一組職員2'],
['id'=>6,'pid'=>3,'name'=>'人事一組職員3'],
['id'=>7,'pid'=>2,'name'=>'人事二組長'],
['id'=>8,'pid'=>7,'name'=>'人事二組職員1'],
['id'=>10,'pid'=>7,'name'=>'人事二組職員3'],
['id'=>15,'pid'=>12,'name'=>'技術一組職員3'],
['id'=>11,'pid'=>1,'name'=>'技術部經理'],
['id'=>12,'pid'=>11,'name'=>'技術一組長'],
['id'=>14,'pid'=>12,'name'=>'技術一組職員2'],
];//執行函式
$list = gettree($list);
?>
效果:
php 分類樹狀展示效果
注意 我所講的分類為無限極分類 如下的函式所涉及的表欄位名有三個 id pid name 如果有定義名稱不同請查詢分類列表資料時對應給字段取別名對應上 id pid name 比如 你的pid 表欄位名定義為 parent id 那麼查詢時 給該字段取別名為 parent id as pid 函式如...
PHP原生 遞迴實現無限級分類樹狀展示資料
1 資料庫設計要求 每一條記錄都需要存在id 主鍵 和pid 父使用者id 字段。2 查詢資料庫獲取所有的記錄組成的陣列。3 遞迴組合成新的陣列 封裝成類裡面的方法 data表示所有的記錄組成的陣列。定址增加查詢效率。public function gettree data,parentid 0 r...
專案效果展示
1.校園呵護系統效果展示 人臉檢測跟蹤 人臉 表情識別 該系統只是乙個效果展示,基於這項技術可以開發與交通標識識別 車牌號識別 刷臉支付 安全帽檢測 口罩檢測等和目標跟蹤檢測以及重新識別相關的技術場景的應用,本實現使用的跟蹤演算法是kcf,也可以改為kalman濾波器。2.車道線檢測效果展示 低難度...