拉着我有這些記錄的數據庫表:使用PHP來顯示樹形結構從數據庫
parent_id child_id
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
0 10
0 11
0 12
1 13
1 14
1 15
2 16
2 17
2 18
3 19
3 20
3 21
4 22
4 23
4 24
5 25
5 26
5 27
6 28
6 29
6 30
7 31
7 32
7 33
7 34
1 35
1 36
1 37
1 38
1 39
我想用遞歸函數來建立一個樹形結構父/子。
function recursion ($parentID, $lvl){
$query = 'SELECT parent_id, child_id FROM ///// WHERE parent_id='.$parentID;
$this->_db->setQuery($query);
$this->_db->query();
$records = $this->_db->loadObjectList();
$count = count($records);
if ($count > 0){
foreach ($records as $item){
print_r ("parent id ".$item->parent_id."child id ".$item->child_id." lvl-> ".$lvl."</br>");
return $this->recursion($item->child_id, $lvl+1);
}
}
}
我的代碼只打印:
parent id 0child id 1 lvl-> 1
parent id 1child id 13 lvl-> 2
我無法弄清楚如何打印整個樹。我想我走在正確的道路上。有人能給我一個關於如何打印整棵樹的提示嗎?
Raim,通常最好使用您正在使用的語言標記問題。這可以讓人們發現他們可能能夠回答的問題。 – jmg
不像你這樣做,但也許這可以幫助你:http://crisp.tweakblogs.net/blog/317/formatting-a-multi-level-menu-using-only-one-query.html - - 關於如何構建這樣的樹視圖的簡單而簡短的教程。 – w00