我在 MySQL 中保存了一个多维菜单。表格看起来像:
id name parent_id
table 很大。我不想运行数百个 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?几乎就像面包屑一样。
最佳答案
您可以传入一组parent_id,而不是仅传入一个parent_id。您可以在递归调用之前将当前的parent_id附加到该数组中,并在递归调用之后将其删除。
关于php - 从一个 mysql_query 递归打印面包屑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17865891/