0

我很难让这个菜单正常工作。

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。

谢谢,如果造成混淆,抱歉。

4

1 回答 1

1

您的函数只有 2 个参数,但您在内部使用 3 个参数调用它

m($link['ID'], $links, "y");

$links 是不必要的。

如果您将查询修改为如下所示会更好

$parentQ = "select * from cdi_menu WHERE parent='$parent'";

所以您不需要第一个 if 语句,并且您不会为每个菜单/子菜单多次获取所有行。

于 2013-02-08T22:27:45.607 回答