我在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_ids 呢?几乎像面包屑。
答案 0 :(得分:0)
您可以传入一个parent_id数组,而不是只传入一个parent_id。您可以在递归调用之前将当前parent_id附加到此数组中,并在递归调用之后将其删除。