Problème de liste

Résolu/Fermé
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 - 8 janv. 2009 à 02:07
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 - 8 janv. 2009 à 21:35
Bonjour,

Ce code est supposé me récupérer toutes les entrées d'un menu, et afficher un sous menu 'déroulant' au survol d'une catégorie de famille galerie.

			$sql="select ref,chemin,type,parent,famille from menu where type='cat'";
			$query=mysql_query($sql) or die(mysql_error());
				while($menu=mysql_fetch_array($query)) {
					switch($menu['famille']){
						case "galerie";
							echo "\t\t\t\t<li><a href='{$_SERVER['PHP_SELF']}?chemin={$menu['ref']}&fam={$menu['famille']}'>{$vst->shapeStringOut($menu['chemin'])}</a>\n";
							echo "\t\t\t\t\t<ul class='visible'>\n";
								$sql="select * from menu where parent='$menu[ref]' and type='sousCat'";
								$query=mysql_query($sql);
								while($menu2=mysql_fetch_array($query)){
									echo "\t\t\t\t\t\t<li><a href=''>".$vst->shapeStringOut($menu2['chemin'])."</a></li>\n";
								}
							echo "\t\t\t\t\t</ul>\n";	
						break;
						case "none";
						echo "\t\t\t\t<li><a href='{$_SERVER['PHP_SELF']}?chemin={$menu['ref']}&fam={$menu['famille']}'>{$vst->shapeStringOut($menu['chemin'])}</a></li>\n";
						break;
					}
				}


Il se trouve qu'il renvoi toutes les catégories, ainsi que la première de famille galerie, et ses descendants, mais il s'arrête après ceux-ci. Je ne trouve pas de solution, est-ce que quelqu'un aurait une piste?

En vous remerciant,

Smoke

5 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
8 janv. 2009 à 09:25
Ton switch case n'est pas bon:

switch($menu['famille']){
case "galerie";


après case il faut : et pas ;


switch($menu['famille']){
						case "galerie":



idem pour tous
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
8 janv. 2009 à 13:50
Merci Alain pour ton intervention^^ j'ai corrigé mes codes utilisant switch^^ mais malheureusement ça ne résout pas mon problème :s
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
8 janv. 2009 à 20:37
up
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
8 janv. 2009 à 21:22
Bonsoir,

je pense que comme ça ça devrait mieux marcher car tu utilises la variable $query dans chaque boucle while

donc la deuxième écrase la première

$sql1="select ref,chemin,type,parent,famille from menu where type='cat'";
			$query1=mysql_query($sql1) or die(mysql_error());
				while($menu=mysql_fetch_array($query1)) {
					switch($menu['famille']){
						case "galerie";
							echo "\t\t\t\t<li><a href='{$_SERVER['PHP_SELF']}?chemin={$menu['ref']}&fam={$menu['famille']}'>{$vst->shapeStringOut($menu['chemin'])}</a>\n";
							echo "\t\t\t\t\t<ul class='visible'>\n";
								$sql2="select * from menu where parent='$menu[ref]' and type='sousCat'";
								$query2=mysql_query($sql2);
								while($menu2=mysql_fetch_array($query2)){
									echo "\t\t\t\t\t\t<li><a href=''>".$vst->shapeStringOut($menu2['chemin'])."</a></li>\n";
								}
							echo "\t\t\t\t\t</ul>\n";	
						break;
						case "none";
						echo "\t\t\t\t<li><a href='{$_SERVER['PHP_SELF']}?chemin={$menu['ref']}&fam={$menu['famille']}'>{$vst->shapeStringOut($menu['chemin'])}</a></li>\n";
						break;
					}
				}
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
8 janv. 2009 à 21:27
Alors là Maître, j'me met à genoux! J'aurais galéré encore longtemps avant de pouvoir me rendre compte de ça^^! Merci beaucoup pour ton aide :o) ça fonctionne bien maintenant :)
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011
8 janv. 2009 à 21:31
tant mieux

mets résolu
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
8 janv. 2009 à 21:35
déjà fait ;)
0