0
我有一个保存在MySQL中的多维菜单。表看起来像:从一个mysql_query打印面包屑递归
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每个岗位?几乎像面包屑。
这是遗留应用程序吗?你不应该在新的应用程序中使用'mysql_query'。 – tadman
* PSA:*本'mysql_ *'功能已废弃在PHP 5.5](http://php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated)。不建议您编写新的代码,因为这会阻止您将来升级。相反,请使用[MySQLi](http://php.net/manual/en/book.mysqli.php)或[PDO](http://php.net/manual/en/book.pdo.php)和[是一个更好的PHP开发人员](http://jason.pureconcepts.net/2012/08/better-php-developer/)。 –
是的,这是一个旧项目的更新。我通常为新项目使用codeigniter框架,但感谢您的警告。 – johdah