から引き出されたツリー構造を表示するには、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