我有这个 JavaScript 代码,它允许我创建一个带有子菜单的水平菜单,如下所示:
<ul id="menu">
<li>Menu 1
<ul>
<li>Sub Menu 1</li>
</ul>
</li>
</ul>
我可以创建任意数量的子菜单,问题是我正在使用 PHP 从 MySQL 数据库中获取链接,但不知道如何动态构建这些子菜单,而无需一遍又一遍地手动检查子菜单. 例如在 MySQL 表中:
字段:Menu_ID Menu_Name Menu_Link Menu_ParentID
所以菜单 ID 只是一个自动增量,menu_parentid 允许我将子菜单名称/链接分配给父菜单。但为了做到这一点,我目前对 2 个子菜单检查执行此操作:
$query = "SELECT * FROM site_menu WHERE Menu_ParentID = 0";
foreach($query AS $q)
{
//run through the results
$query2 = "SELECT * FROM site_menu WHERE Menu_ParentID = $q['id']";
foreach($query2 AS $q2)
{
//run through the results
}
}
如您所见,我必须查询两次才能获得第一个子菜单,如果有第三个子菜单怎么办?我必须运行 3 个查询吗?有什么建议么?