Menu cache-cache

Fermé
platypus69 Messages postés 108 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 11 février 2015 - 30 sept. 2010 à 16:43
Bonjour à tous,
Petit problème de programmation avec un menu. ça fait déjà quelques temps que je me casse les dents dessus mais sans succès.
Le menu se génère par rapport au produit visible dans ma base de données et à une table de catégorie et sous-catégorie.

// Menu des produits
// On vérifie si l'option affiché sous_catégories est à 1 ou 0 en BDD
function menumarche()
{				
$R = mysql_query("SELECT valeur FROM 00_parametre WHERE nom='ss_cat'");
$option_sscat = mysql_fetch_row($R);

// si $option_sscat est à 0, menu n'affiche pas les sous_catégories mais que les catégories
if  ($option_sscat['0'] == "0"){

$F = mysql_query ("SELECT code_cat,tri,image FROM 00_udc WHERE code_sscat= '0' AND code_cat IN (SELECT DISTINCT cat FROM 02_produit WHERE visible='1') ORDER BY tri ASC");
	
echo "<table width=\"240\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" >";	

while($F && $menu=mysql_fetch_assoc($F))
{
$cat = $menu['code_cat'];
$image = $menu['image'];

echo "<tr>";		
echo "<td height=\"40\"><a href=\"marche.php?cat=$cat&sscat=0\"><img src=\"image/commun/menu_marche/$image.png\"/></a></td>";
echo "</tr>";	

}
echo "</table>";
}

 Partie sur la quelle je voudrais avoir un menu caché 
else {
$F = mysql_query ("SELECT code_cat,tri,image FROM 00_udc WHERE code_sscat= '0' AND code_cat IN (SELECT DISTINCT cat FROM 02_produit WHERE visible='1') ORDER BY tri ASC");
	
echo "<table width=\"240\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" >";	

while($F && $menu=mysql_fetch_assoc($F))
{
$cat = $menu['code_cat'];
$image = $menu['image'];
		
echo "<tr><td height=\"40\"><img src=\"image/commun/menu_marche/$image.png\"/></td></tr>";
echo "<tr><td><table id=\"$cat\" width=\"240\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"></td></tr>";

$R = mysql_query ("SELECT code_sscat,tri,nom FROM 00_udc WHERE code_cat='$cat' AND code_sscat IN(SELECT DISTINCT sscat FROM 02_produit WHERE visible=1 AND cat='$cat') ORDER BY tri ASC");
while ($R && $menu1=mysql_fetch_assoc($R))
{
	$sscat = $menu1['code_sscat'];
	$nom = $menu1['nom'];

echo "<tr>";	
echo "<td><a href=\"marche.php?cat=$cat&sscat=$sscat\">$nom</a></td>";
echo "</tr>";
}	
echo "</table>";
}
echo "</table>";
}
}



Donc je voudrais que de base le menu affiche seulement les catégories et que quand on clique sur cette dites catégorie, elle affiche les sous-catégories lui appartenant et que quand on clique sur une autre catégorie la précédente se ferme et la nouvelle s'affiche.
J'ai essayé avec plusieurs techniques comme le JS avec les get.elementId qui donne des résultats à l'ouverture seulement sur une catégorie mais pas de fermeture.

Si quelqu'un à une bride d'idée.

Bien à vous