J'ai du mal à faire fonctionner ce menu correctement.PHP Menu - Chargement à partir de la base de données, impossible de structurer correctement
function writeMenu(){ echo "<div id=\"menu\">" <ul id=\"top-link\">"; m("top", "n"); echo "</ul></div>";
(désolé, il ne serait pas formater correctement)
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();
Ce que je suis en train de faire est de faire où je peux masquer les ID « sous-link » (j'utiliser des classes, mais javascript ne semble pas modifier les styles de classe, juste les ID). Les éléments de sous-lien apparaîtraient lorsque sur un élément parent.
top
fait référence aux éléments supérieurs et ID
fait référence à l'ID unique dans la base de données.
Merci, désolé si c'est confus.
N'utilisez pas mysql_ *. Regardez dans PDO, et MySQLi. En outre, utilisez une bibliothèque JavaScript comme jQuery. Vous pouvez sélectionner des classes de cette façon. –
Aussi, quelle est la structure de votre table de base de données? Sans connaître les colonnes et leurs valeurs, il est difficile d'aider avec cela. –
ID, PARENT, LINK, AFFICHAGE, HASCHILD est la structure. Je vais regarder dans ces 2. –