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