嗨,我正在尝试创建一个 3 层菜单系统,只是一个标准;
<ul>
<li></li>
<li>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</li>
<li></li>
</ul>
类型系统。我有三张桌子;
menu1 - 名称、链接、类型、位置、顺序、状态 menu2 - 父级、名称、链接、类型、位置、顺序、状态 menu3 - 父级、名称、链接、类型、位置、顺序、状态
我可以通过在选择第一级菜单项时将查询放入循环中来使其工作,但这实际上对每个菜单项运行查询(在大型菜单系统上,这不是解决方案)
我想出了这个(非工作)模型(仅显示顶层)。
<ul class="dropdown">
<?php
include('../../config/mysqli_connect.php');
$q = "SELECT * FROM menu1 WHERE position = 'top' AND status ='yes'";
$q2 = "SELECT * FROM menu2 WHERE position = 'top' AND status ='yes'";
$q3 = "SELECT * FROM menu3 WHERE position = 'top' AND status ='yes'";
$r = mysqli_query($dbc, $q);
$r2 = mysqli_query($dbc, $q2);
$r3 = mysqli_query($dbc, $q3);
while($menu1 = mysqli_fetch_array($r, MYSQL_ASSOC))
{
echo "<li><a href='" . $menu1['link'] . "'>" . $menu1['name'] . "</a></li>";
while($menu2 = mysqli_fetch_array($r2, MYSQL_ASSOC))
{
echo "<ul class='sub_menu'>";
if($menu2['parent'] == $menu1['name'])
{
echo "<li><a href='" . $menu2['link'] . "'>" . $menu2['name'] . "</a></li>";
}
echo "</ul>";
}
}
?>
</ul>
有人可以帮我举一个工作模型的例子,或者帮我写代码。我接近它是错误的,需要朝着正确的方向推动。另一个问题是它显示子菜单ul是否有子菜单。