Posez votre question Signaler

Boucle Switch

ellocodu59 - Dernière réponse le 29 mai 2008 à 15:19
Bonjour,
J'ai un petit problème par rapport à ma boucle switch : elle n'exécute pas les actions des différents cas mais va directement au "default". La requête du "default" marche très bien et les autres cas ne s'exécutent pas alors que la requête est la même ! Quand je clique sur les différents liens la page affiche toujours le résultat de la requête "default".
Avez-vous une idée? Merci.
Je vous donne mon code :
<?php
include("php/connexion.php");
$id = $_GET['ID'];
$requete = "SELECT * FROM trombi WHERE ID=\"".$id."\" ";
$result = mysql_db_query($bdd, $requete);
$donnees = mysql_fetch_array($result);
/* Requête pour sélectionner la matière choisie*/
$matiere = $_GET["matiere"];
switch ($matiere){
case 1:
$requete2 = "SELECT * FROM adm_blog WHERE matiere='flash' ORDER BY id";
break;
case 2:
$requete2 = "SELECT * FROM adm_blog WHERE matiere='illustrator' ORDER BY id";
break;
case 3:
$requete2 = "SELECT * FROM adm_blog WHERE matiere='photoshop' ORDER BY nom";
break;
case 4:
$requete2 = "SELECT * FROM adm_blog WHERE matiere='compoimages' ORDER BY nom";
break;
case 5:
$requete2 = "SELECT * FROM adm_blog WHERE matiere='aftereffects' ORDER BY nom";
break;
case 6:
$requete2 = "SELECT * FROM adm_blog WHERE matiere='sketchup' ORDER BY nom";
break;
case 7:
$requete2 = "SELECT * FROM adm_blog WHERE matiere='3dsmax' ORDER BY nom";
break;
case 8:
$requete2 = "SELECT * FROM adm_blog WHERE matiere='maya' ORDER BY nom";
break;
case 9:
$requete2 = "SELECT * FROM adm_blog WHERE matiere='films' ORDER BY nom";
break;
default:
$requete2 = "SELECT * FROM adm_blog WHERE matiere='flash' ORDER BY id";
}
$result2 = mysql_db_query($bdd, $requete2);
$donnees2 = mysql_fetch_array($result2);
?>
Et les liens correspondants :
<div id="typematiere">
<img src="image/PageBlog/onglet.jpg"/>  <?php echo "<a href=\"blog.php?ID=".$donnees["ID"]."&matiere=flash\" >";?>FLASH</a><br/><br/>
<img src="image/PageBlog/onglet.jpg"/>  <?php echo "<a href=\"blog.php?ID=".$donnees["ID"]."&matiere=illustrator\" >";?>ILLUSTRATOR</a><br/><br/>
<img src="image/PageBlog/onglet.jpg"/>  <?php echo "<a href=\"blog.php?ID=".$donnees["ID"]."&matiere=photoshop\" >";?>PHOTOSHOP</a><br/><br/>
<img src="image/PageBlog/onglet.jpg"/>  <?php echo "<a href=\"blog.php?ID=".$donnees["ID"]."&matiere=compoimages\" >";?>COMPO-IMAGES</a><br/><br/>
<img src="image/PageBlog/onglet.jpg"/>  <?php echo "<a href=\"blog.php?ID=".$donnees["ID"]."&matiere=aftereffects\" >";?>AFTER-EFFECTS</a><br/><br/>
<img src="image/PageBlog/onglet.jpg"/>  <?php echo "<a href=\"blog.php?ID=".$donnees["ID"]."&matiere=sketchup\" >";?>SKETCHUP</a><br/><br/>
<img src="image/PageBlog/onglet.jpg"/>  <?php echo "<a href=\"blog.php?ID=".$donnees["ID"]."&matiere=3dsmax\" >";?>3 DS MAX</a><br/><br/>
<img src="image/PageBlog/onglet.jpg"/>  <?php echo "<a href=\"blog.php?ID=".$donnees["ID"]."&matiere=maya\" >";?>MAYA</a><br/><br/>
<img src="image/PageBlog/onglet.jpg"/>  <?php echo "<a href=\"blog.php?ID=".$donnees["ID"]."&matiere=films\" >";?>FILMS FIN D'ANNEE</a>
</div>
Lire la suite 

Boucle Switch »

3 réponses
Réponse
+0
moins plus
Il faut que tu mettes des cotes autour de tes chiffres comme cela : case '6':
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

C'est normal si ton switch passe toujours par le cas par défaut.

Tu évalues les différentes valeurs de $matiere dans ton switch avec des valeurs allant de 1 à 9.

Mais vu les liens correspondant que tu as donné $matiere peut valoir "flash" ou "illustrator" ou ...

Donc $matiere ne vaut jamais un chiffre compris entre 0 et 9 et tu passes directement au cas pas défaut.

Ce qu'il faut faire:

switch ($matiere){
case "flash":
$requete2 = "SELECT * FROM adm_blog WHERE matiere='flash' ORDER BY id";
break;
case "illustrator":
$requete2 = "SELECT * FROM adm_blog WHERE matiere='illustrator' ORDER BY id";
break;
...


Voir aussi:

http://www.manuelphp.com/php/control-structures.switch.php



Bonne journée,
Barracuda.
ellocodu59 - 29 mai 2008 à 15:19
ça marche niquel !
Merci pour ton aide !
Bonne journée
Ajouter un commentaire
Ce document intitulé « Boucle Switch » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook