我很难让这个菜单正常工作。
function writeMenu(){
echo "<div id=\"menu\">" <ul id=\"top-link\">";
m("top", "n"); echo "</ul></div>";
(对不起,它格式不正确)
function m($parent,$issub){
$parentQ = "select * from cdi_menu";//gets menu items from menu table
$parentResult = mysql_query($parentQ); //runs menu item query and obtains result
while ($link = mysql_fetch_assoc($parentResult)) {//for each line in the result do the folowing:
if($parent==$link['PARENT']){//if the next link belongs to this menu item
echo "\n <li><a href=\"".$link['LINK']."\">".$link['DISPLAY']."</a></li>";
if($issub=="n" && $link['HASCHILD']=="y"){//if this menu item is a top menu item
echo "\n <li id=\"sub-link\"><ul>";
m($link['ID'], $links, "y");
echo "\n </ul></li>";
}
}
}
}
echo writeMenu();
我要做的是将它隐藏在“子链接”ID中(我会使用类,但javascript似乎不会编辑类样式,只是ID)。子链接项目将在父项目上显示。
top
引用顶部元素,ID
引用数据库中的唯一ID。
谢谢,抱歉,如果它令人困惑。
答案 0 :(得分:1)
您的功能只有2个参数,但您可以使用3个内部
调用它m($link['ID'], $links, "y");
$ links是不必要的。
如果你修改查询看起来像这样
会更好$parentQ = "select * from cdi_menu WHERE parent='$parent'";
所以你不需要第一个if语句,你不会为每个菜单/子菜单多次获取所有行。