我已经能够成功创建动态下拉导航栏的开始。如下所示:
我为此使用的代码如下:
1-我正在调用的函数:
function loop_array($array = array(), $parent_id = 0){
if(!empty($array[$parent_id])){
echo '<ul>';
foreach($array[$parent_id] as $items){
?>
<li><a href="view.php?id=<?php echo $items['id'] ?>"><?php echo $items["title"] ?></a>
<?php loop_array($array, $items['id']);echo '</li>';
}
echo '</ul>';
}
}
function display_menus(){
$con = mysqli_connect("localhost", "root", "", "solvedesktop");
$query = $con->query("SELECT * FROM pages WHERE published = 1");
$array = array();
if(mysqli_num_rows($query)){
while($rows = mysqli_fetch_array($query)){
$array[$rows['parent_id']][] = $rows;
}
loop_array($array);
}
}
2-索引页面:
<?php require_once(__DIR__."/../includes/config.php"); ?>
<?php require_once(__DIR__."/../includes/functions.php"); ?>
<?php require_once(__DIR__."/../includes/header.php"); ?>
<h2 style="text-align:center;">Cork Symm Knowledgebase</h2>
<?php display_menus(); ?>
</div>
<?php require_once(__DIR__."/../includes/footer.php");
我拥有的CSS是:
ul {
list-style:none;
padding:0px;
margin:0px;
}
ul li {
display:block;
position:relative;
float:left;
border:1px solid #2747E8;
}
li ul {
display:none;
}
ul li a {
display:block;
background:#2747E8;
padding:5px 10px 5px 10px;
text-decoration:none;
white-space:nowrap;
color:#fff;
}
ul li a:hover {
background:##2747E8;
}
li:hover ul {
display:block;
position:absolute;
}
li:hover li {
float:none;
}
li:hover a {
background:#000000;
}
li:hover li a:hover {
background:#2747E8;
}
#drop-nav li ul li {
border-top:0px;
}
我目前正在尝试添加第二个下拉菜单,例如,如果将鼠标悬停在VMAX3 200K上,则来自上图,我应该在右边显示另一个下拉菜单,我的问题是我一直在尝试将其添加到在过去的几个小时内无法正常运行,因此我一直没有成功。
导航系统基于表中的不同ID。 例如,在parent_id和child_id等于0的情况下,您将出现在主导航页面上:
对于第一个下拉列表,parent_id将需要与主导航中的一个id匹配,例如页面VMAX 200K的parent_id将与VMAX3的id匹配并将出现在列表中,如顶部屏幕截图所示。< / p>
因此,在本导航的最后一部分中,我尝试从该函数编写代码,使parent_id与ID匹配,而child_id与结果parent_id的匹配。 (我希望这是有道理的,用英语说起来会很混乱,而且我发现用PhP :()
写作同样困难任何帮助,将不胜感激。
感谢和问候, 圆锥形