Menu hierarchique php mysql javascript

Résolu/Fermé
Signaler
Messages postés
456
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
16 mai 2014
-
Messages postés
456
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
16 mai 2014
-
Bonjour,
je souhaite créer , un menu déroulant vertical genre accordéon mais couplé avec une base de données.
j'ai téléchargé le menu déroulant vertical2 dans la galerie
https://css.developpez.com/galerie/?page=menus-verticaux#MV2
Pour cela, j'ai structuré ma base de données et réalisé la table suivante:
http://creuselimousin.free.fr/table.jpg
voici le code html pour incorporer mon script php
<div id="menu">
 
  <div class="menu" id="menu1" onclick="afficheMenu(this)">
		<a href="#">Menu 1</a>
	</div>    
    
	<div id="sousmenu1" style="display:none">
		<div class="sousmenu">
			<a href="#">Sous-Menu 1.1</a>
		</div>
		<div class="sousmenu">
			<a href="#">Sous-Menu 1.2</a>
		</div>
		<div class="sousmenu">
			<a href="#">Sous-Menu 1.3</a>
		</div>
		<div class="sousmenu">
			<a href="#">Sous-Menu 1.4</a>
		</div>
	</div>
	
	<div class="menu" id="menu2" onclick="afficheMenu(this)">
		<a href="#">Menu 2</a>
	</div>
	<div id="sousmenu2" style="display:none">
		<div class="sousmenu">
			<a href="#">Sous-Menu 2.1</a>
		</div>
		<div class="sousmenu">
			<a href="#">Sous-Menu 2.2</a>
		</div>
		<div class="sousmenu">
			<a href="#">Sous-Menu 2.3</a>
		</div>
	</div>
	
	<div class="menu" id="menu3" onclick="afficheMenu(this)">
		<a href="#">Menu 3</a>
	</div>
	
	<div class="menu" id="menu4" onclick="afficheMenu(this)">
		<a href="#">Menu 4</a>
	</div>
	<div id="sousmenu4" style="display:none">
		<div class="sousmenu">
			<a href="#" >Sous-Menu 4.1</a>
		</div>
		<div class="sousmenu">
			<a href="#">Sous-Menu 4.2</a>
		</div>
		<div class="sousmenu">
			<a href="#">Sous-Menu 4.3</a>
		</div>
		<div class="sousmenu">
			<a href="#">Sous-Menu 4.4</a>
		</div>
		<div class="sousmenu">
			<a href="#">Sous-Menu 4.5</a>
		</div>
	</div>
</div>

et le script php pour afficher les menus et sous menus correspondants:
 <?php
    mysql_select_db($database_dream, $dream);
    $query = 'SELECT item_menu, id_menu FROM menu WHERE id_menu_dir is NULL';
    $data = mysql_query($query) or die(mysql_error());
    echo '<div id="menu">';
    $i = 1;
    while($row = mysql_fetch_assoc($data)) {
    echo '<div class="menu" id="menu' . $i++ . '" onclick="afficheMenu(this);"><a href="#">' . $row['item_menu'] . '</a></div>';
    $subQuery = 'SELECT item_menu FROM menu WHERE id_menu = ' . $row['id_menu'];
    $subData = mysql_query($subQuery) or die(mysql_error());
    echo '<div id="sousmenu1" style="display:none;">';
    $j = 1;
    while ($subRow = mysql_fetch_assoc($subData)) {
    echo '<div class="sousmenu"><a href="#">' . $subRow['item_menu'] . '</a></div>';
    }
    echo '</div>';
    }
     
    echo '</div>';
    ?>   


les menus apparaissent , mais aucuns sous menus.
Avez-vous une idée de l'erreur?
Merci de m'aider






1 réponse

Messages postés
456
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
16 mai 2014
28
avec ce code çà fonctionne:
 <?php
mysql_select_db($database_dream, $dream);
$query = 'SELECT item_menu, id_menu FROM menu WHERE id_menu_dir is NULL';
$data = mysql_query($query) or die(mysql_error());
echo '<div id="menu">';
$i = 1;
while($row = mysql_fetch_assoc($data)) {
echo '<div class="menu" id="menu' . $i . '" onclick="afficheMenu(this);"><a href="#">' . $row['item_menu'] . '</a></div>';
$subQuery = 'SELECT item_menu FROM menu WHERE id_menu_dir =' . $row['id_menu'];

$subData = mysql_query($subQuery) or die(mysql_error());
echo '<div id="sousmenu' . $i . '" style="display:none;">';
$j = 1;//??
while ($subRow = mysql_fetch_assoc($subData)) {
echo '<div class="sousmenu"><a href="#">' . $subRow['item_menu'] . '</a></div>';
}
echo '</div>';
$i++;
}
 
echo '</div>';
?>