[PHP,Mysql] Menu dynamique a niveaux multiple

Fermé
Signaler
-
 Profil bloqué -
Bonjour a vous.
Voila, je suis en train de realiser mon site web en php mysql sur un systeme cms. Ca me permet de mettre en pratique ce que j'apprend :p

Mais voila, pour les menu que je veux dynamique, je cherche a reprendre le fonctionnement des mainmenu de joomla:

Titre du menu
Liens1
Liens2
Liens2.1
liens2.2
liens2.2.1
Liens3
...
et ainsi de suite

Avec mon code:
<ul>
<?php
$left_menu = mysql_query("Select id, title FROM jos_left ORDER BY id ASC") or die (mysql_error()); 
while ($donnees_left_menu = mysql_fetch_array($left_menu)){
echo'<div class="left_header_articles"></div><div class="right_header_articles"></div><div class="center_header_articles"></div><div class="left"><fieldset><legend>'.$donnees_left_menu['title'].'</legend>';
?>
<ul>
<?php
$left_linka = mysql_query("Select id, title, link FROM jos_left_link WHERE id_jos_left = ".$donnees_left_menu['id']." ORDER BY id ASC") or die (mysql_error());
while ($donnees_left_linka = mysql_fetch_array($left_linka)){
echo'"'.$donnees_left_linka['id'].'"<a href="'.$donnees_left_linka['link'].'">'.$donnees_left_linka['title'].'</a><br>';

?>
</ul>
<ul>
<?php

$left_linkb = mysql_query("Select id,title,link FROM jos_left_link2 WHERE id_jos_left_link = ".$donnees_left_linka['id']." ORDER BY id ASC") or die (mysql_error());
while ($donnees_left_linkb = mysql_fetch_array($left_linkb)){
echo'"'.$donnees_left_linkb['id'].'"<a href="'.$donnees_left_linkb['link'].'">'.$donnees_left_linkb['title'].'</a><br>';
}
?>
<?php
}
?>
</ul>
<?php
echo '</fieldset></div><div class="left_footer_articles"></div><div class="right_footer_articles"></div><div class="center_footer_articles"></div><br>';
}
?>
</ul>


Je parviens a afficher dynamiquement le nobre de bloc menu que je veux avec les liens qui correspondent a chaqu'un mais le troisieme script quand a lui m'affiche bien le lien qui est lie au deuxieme script.

Or je ne parviens pas a trouver un moyen propre de faire fonctionner le menu de facon a faire apparaitre les sous-menu quand on clic sur le parents.

Je precise aussi que tous mon site est concu de facon a rappeler la page index.php et d'utiliser les valeurs de variables pour en changer le contenu.

Si vous savez comment faire (soit a la joomla (on clic on vas sur une page et on a les sous menu) soit "en slide" (on clic sur un lien et le menu s'aggrandis pour faire apparaitre les sous menu), indiquez moi le script ou bien ou cherchez car je farfouille sur le net et a par du javascript en frame, je n'est rien trouver.

Merci de votre aide

5 réponses


Bon je crois que j'ai trouver mais pas simple a trouver comme tuto donc je le post que d'autre puisse l'utiliser:
Pour la generation automatique d'un nilbre infinie de menu et sous menu depouis mysql avec du php https://www.coinduwebmaster.com/menu-arborescent-fonction-recursive-php/89/
et pour cacher/afficher les sous menu: https://www.coinduwebmaster.com/sous-menus-caches/60/
Voila pas encore tester mais me parait bien.
A voir si ca correpond bien a ce que je veux ou si j'arrive a le modifier.
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
1054
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
23 octobre 2013
148
Salut,

Tu as des possibilités simplement avec du CSS ou Javascript.
CSS =>https://marcarea.com/tuto/menu-deroulant-css/

Je vais tester ca dans la journée mais j'ai malgre tous un doute quand a la faisabiliter avec la structure qui sera charger depuis du mysql (CMS).
Je teste avec du php mysql dedans et je te dis cela.

Nop ca fonctionne pas comme il le faut, j'ai du mal a aller le faire cherchez les infos mais en plus, il ne fait que le menu a l'horizontale, en verticale, ca se plaque les un sur les autre et pas de decalage. Si tu as autre chose, je veux bien.

Et non, ca ne marche qu'a moitier.
Le php du premier lien est tres bien pour faire la liste de sous menu infinie mais le deuxieme ne fonctionne pas.
on est toujours soit entierement relier soi entierement deplier.

Connaissez vous un script java je crois qui permet de repliez des sous niveau et de les montrer au clic?
(bien que je crains que cela ne servent que peut)