Page 1 sur 1

pb switch

Posté : 25 sept. 2005, 23:23
par donatello
Bonjour à tous,
j'utilise switch/case pour tester les valeurs d'une variable.
Mon code est de la forme
function display_menu ($MaVar) {
switch ($MaVar) {
	case "visites":
print ("\n
<table class=\"menu_ancres\">
<tr><td>Informations visites</td></tr>
<tr><td><a href=\"\#\">Statistiques</a></td></tr>
<tr><td><a href=\"\#\">Recapitulatifs sur la periode</a></td></tr>
<tr><td><a href=\"\#\">Graphique recapitulatif des statistiques</a></td></tr>
<tr><td><a href=\"\#\">Graphique des durees des visites par visiteur</a></td></tr>
<tr><td><a href=\"\#\">Graphique des visites par heure du serveur</a></td></tr>
<tr><td><a href=\"\#\">Graphique des visites par heure du visiteur</a></td></tr>
<tr><td><a href=\"\#\">Graphique des lieux de connexion</a></td></tr>
</table>
\n");	

	case "pages":
print ("\n
<table class=\"menu_ancres\">
<tr><td>Informations pages vues</td></tr>
<tr><td><a href=\"\#\">Tableau des détails des pages vues </a></td></tr>
<tr><td><a href=\"\#\">Graphique des visites par nombre de pages vues</a></td></tr>
<tr><td><a href=\"\#\">Graphique des pages vues par heure du serveur</a></td></tr>
<tr><td><a href=\"\#\">Graphique des pages vues par heure du visiteur</a></td></tr>
</table>
\n");	

//....
}
j'ai en tout 8 cas différents qui génèrent le même type de code html.
Mon pb, c'est que les 8 conditions s'exécutent en même temps au lieu de 1 à la fois, en fonction de la valeur de la variable. comme si les 8 conditions étaient vérifiées en même temps...
Qqn connaît ce pb?

Posté : 25 sept. 2005, 23:25
par Truc
rajoute un "break;" dans chaque "case" :wink:

Posté : 25 sept. 2005, 23:29
par DocType
Résolu donc? :wink:

Posté : 26 sept. 2005, 07:42
par smarties
Si tu ne met pas un break; à la fin de ton case, l'etiquette case suivante serai exécutée jusqu'à la prochaine instruction break ou la fin du switch si tu n'as pas mis de break

Posté : 26 sept. 2005, 10:32
par Invité
oui ça marche, merci bcp.