MySQL に保存された多次元メニューがあります。テーブルは次のようになります。
id name parent_id
テーブルは巨大です。何百もの mysql_query() を実行したくないので、これから始めました:
$result = mysql_query("SELECT * FROM test");
$arrs = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$arrs[] = $row;
}
function build_tree($arrs, $parent_id=0, $level=0) {
foreach ($arrs as $arr) {
if ($arr['parent_id'] == $parent_id) {
echo str_repeat("-", $level)." ".$arr['name']."<br />";
build_tree($arrs, $arr['id'], $level+1);
}
}
}
build_tree($arrs);
これは問題なく機能しますが、これを変更して各投稿のすべてのparent_idを出力するにはどうすればよいですか? ほとんどパン粉のようです。