无法弄清楚如何使用 while 循环生成此菜单。
这是我的代码的示例:
<ul id="nav">
<li><a href="#">Hoofdmenu 1</a>
<ul class="sub">
<li><a href="#">Submenu 1.1</a></li>
<li><a href="#">Submenu 1.2</a></li>
<li><a href="#">Submenu 1.3</a></li>
<li><a href="#">Submenu 1.4</a></li>
</ul>
</li>
<li><a href="#">Hoofdmenu 2</a>
<ul class="sub">
<li><a href="#">Submenu 2.1</a></li>
<li><a href="#">Submenu 2.2</a></li>
<li><a href="#">Submenu 2.3</a></li>
<li><a href="#">Submenu 2.4</a></li>
</ul>
</li>
</ul>
我的数据库表看起来像:
paginas:
id
title
content
type
当来自父级的 type == id 时,它应该是子菜单。
在我的示例中,这是可行的,现在我必须使其动态化。
脑子不灵了。
感谢您的帮助!
使用代码从数据库获取数据:
<ul id="nav">
<?php
include_once("ond/inc/php/connect.php");
$query = "SELECT * FROM paginas WHERE type = '0'";
$result = mysql_query($query);
while($row = mysql_fetch_object($result)){
echo '<li><a href="?ond='.$row->titel.'">'.$row->titel.'</a>';}
echo '<ul class="sub">';
$query2 = "SELECT * FROM paginas WHERE type = '".$row->id."'";
$result2 = mysql_query($query2);
while($row2 = mysql_fetch_object($result2))
{
echo '<li><a href="?ond='.$row2->titel.'">'.$row2->titel.'</a></li>';
}
echo '</ul>';
echo '</li>';
?>
</ul>
我会做这样的事情:
首先,将数据作为数组取出,并为每个条目循环遍历它。然后运行这样的事情:
$menuArray = array();
if (empty($type)) // If the entry has no "type", then it's a parent
{
$menuArray[$type]['title'] = $title;
}
else // else, it's a child, so append it to the parent
{
$menuArray[$type]['subitems'][] = $title;
}
那么,有$menuArray
,循环遍历它来创建菜单:
?><ul id="nav"><?php
foreach ($menuArray as $item)
{
?><li><a href="#">$item['title']</a><?php
?><ul class="sub"><?php
foreach ($item['subitems'] as $subItem)
{
<li><a href="#">$subItem</a></li>
}
?></ul><?php
?></li><?php
}
?></ul><?php
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)