私はSQL構造を持っています
id parent_id
1 0
2 1
3 2
4 3
5 4
6 5
7 1
8 7
9 8
phpを使ってid=1の子ノードをn番目の子ノードまで全て呼び出したい
どうすれば入手できますか。私はphpのコールバック関数を使って構造化しています。
私はSQL構造を持っています
id parent_id
1 0
2 1
3 2
4 3
5 4
6 5
7 1
8 7
9 8
phpを使ってid=1の子ノードをn番目の子ノードまで全て呼び出したい
どうすれば入手できますか。私はphpのコールバック関数を使って構造化しています。
再帰を使用すると、次のことができます...
<?php
$arrayParent = $this->ToDatabase->("SELECT * FROM table WHERE parent_id = 0");
BuildList($arrayParent, 0);
function BuildList($arrayElements, $depth)
{
foreach($arrayElements as $element)
{
echo str_repeat(" ", $depth) . $element["id"];
$depth++;
$totalUnder = $this->ToDatabase->("SELECT * FROM table
WHERE parent_id = " . (int)$element["id"]);
if(count($totalUnder) > 0)
$depth = BuildList($totalUnder, $depth); //$totalUnder fetch to array and step deeper...
return $depth;
}
}
?>