If / elseif
Fermé
killermano66
Messages postés
233
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 novembre 2010
-
20 janv. 2009 à 18:41
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 21 janv. 2009 à 16:28
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 21 janv. 2009 à 16:28
13 réponses
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
20 janv. 2009 à 19:33
20 janv. 2009 à 19:33
heu je suis bête...
if ($donnees['lieux1']=="USA"){
il ne faut pas oublier les quotes bien sûr ^^
if ($donnees['lieux1']=="USA"){
il ne faut pas oublier les quotes bien sûr ^^
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
20 janv. 2009 à 22:09
20 janv. 2009 à 22:09
Bonsoir,
petite précision:
comme la requette 'SELECT * FROM sortie WHERE id="1"'
ne sortira qu'un seul enregistrement il est inutile de faire une boucle while
seul un
on fait while quand il y a plusieurs enregistrement extraits
par contre si le test if ($donnees['lieux1']=="USA") ne fonctionne pas c'est que $donnees['lieux1'] ne contient pas exactement USA
n'y a -t-il pas un espace qui traine et qui est difficile à voir ?
faire echo "donnee lue=".$donnees['lieux1']."fin de lecture";
petite précision:
comme la requette 'SELECT * FROM sortie WHERE id="1"'
ne sortira qu'un seul enregistrement il est inutile de faire une boucle while
seul un
$donnees = mysql_fetch_array($requete_selection);suffit
on fait while quand il y a plusieurs enregistrement extraits
par contre si le test if ($donnees['lieux1']=="USA") ne fonctionne pas c'est que $donnees['lieux1'] ne contient pas exactement USA
n'y a -t-il pas un espace qui traine et qui est difficile à voir ?
faire echo "donnee lue=".$donnees['lieux1']."fin de lecture";
Revan26914
Messages postés
1778
Date d'inscription
dimanche 14 octobre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
320
20 janv. 2009 à 22:11
20 janv. 2009 à 22:11
ne sortira qu'un seul enregistrement il est inutile de faire une boucle while
Oui en effet, j'avais pas tout de suite fait attention au WHERE. ^^
Oui en effet, j'avais pas tout de suite fait attention au WHERE. ^^
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
20 janv. 2009 à 19:13
20 janv. 2009 à 19:13
echo $donnees['lieux1'];
avant ton if
avant ton if
killermano66
Messages postés
233
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 novembre 2010
41
20 janv. 2009 à 19:24
20 janv. 2009 à 19:24
Bah non, ça m'écrit le contenue de la BDD donc JAP ou EU ou USA mais ça ne m'affichera pas l'image. C'est la structure if /elseif qui déconne à mon avis. Merci.
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
20 janv. 2009 à 19:30
20 janv. 2009 à 19:30
while($donnees = mysql_fetch_array($requete_selection)){// fais un balayage de tableau avec while^^ sans ça, il n'y a rien si je ne me trompe //vu que tu n'utilise que la valeur d'une seule variable, utilise un switch switch($donnees['lieux1']){ case 'USA': echo "<img src='../../pictures/minius.png'/>"; //tu remarqueras du xHTML break; case 'EU': echo "<img src='../../pictures/minifr.png'/>"; //et une utilisation des guillemets plus cohérente. break; case 'JAP': echo "<img src='../../pictures/minijp.png'/>"; break; }//fin du switch echo $donnees['jeux1'] . ' - ' . $donnees['date1'] . '<br />'; }//on ferme le tableau
moins de caractères, moins de ligne, code optimisé et propre^^
alors?
killermano66
Messages postés
233
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 novembre 2010
41
20 janv. 2009 à 19:38
20 janv. 2009 à 19:38
J'ai déjâ essayé ça aussi et ça ne fonctionne pas. Merci.
Pour ce qui est de ta solution smokingbird pareil, ça ne m'affiche aucunement les images. Et il n'y a pas besoin de boucle while pour traiter les donnée d'une BDD juste de la fonction mysql_fetch_array() non ?
Pour ce qui est de ta solution smokingbird pareil, ça ne m'affiche aucunement les images. Et il n'y a pas besoin de boucle while pour traiter les donnée d'une BDD juste de la fonction mysql_fetch_array() non ?
Smoking bird
Messages postés
870
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2011
58
20 janv. 2009 à 20:08
20 janv. 2009 à 20:08
c'est l'usage, je ne saurais te l'expliquer en détail, mais la fonction mysql_fetch_array te renvoi un tableau, il faut bien le balayer, donc on utilise while^^. Cette méthode ne m'a jamais fait défaut
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
20 janv. 2009 à 19:47
20 janv. 2009 à 19:47
ah ça par contre, même ça ne résout pas le problème, ça n'est pas à "essayer", mais c'est à faire.
Si tu ne le fais pas, ton code ne marcheras pas à coup sûr.
Essaye ta page sur IE, est-ce que tu as un petit carré avec une croix rouge ?
Si c'est le cas, c'est juste que le chemin de tes images n'est pas bon.
Si tu ne le fais pas, ton code ne marcheras pas à coup sûr.
Essaye ta page sur IE, est-ce que tu as un petit carré avec une croix rouge ?
Si c'est le cas, c'est juste que le chemin de tes images n'est pas bon.
killermano66
Messages postés
233
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 novembre 2010
41
20 janv. 2009 à 19:50
20 janv. 2009 à 19:50
Oki pour les quotes alors.
Déjâ testé sous rien ne me dit que le chemin d'accés de mes images n'est pas corrects. Puis j'ai tout de même testé en dur en entrant direct le lien des image et ça s'affiche nikel. Merci encore.
Déjâ testé sous rien ne me dit que le chemin d'accés de mes images n'est pas corrects. Puis j'ai tout de même testé en dur en entrant direct le lien des image et ça s'affiche nikel. Merci encore.
Revan26914
Messages postés
1778
Date d'inscription
dimanche 14 octobre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
320
20 janv. 2009 à 20:16
20 janv. 2009 à 20:16
Bonsoir,
Pas de message d'erreur ? A mon avis c'est les conditions qui ne sont pas vérifiées. Essai ce code et dis moi ce qui s'affiche:
Cordialement
Revan
Pas de message d'erreur ? A mon avis c'est les conditions qui ne sont pas vérifiées. Essai ce code et dis moi ce qui s'affiche:
<?php include('../connection.php'); $requete_selection = mysql_query('SELECT * FROM sortie WHERE id="1"') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); while ($donnees = mysql_fetch_array($requete_selection)) { if ($donnees['lieux1']=='USA') echo '<img src="../../pictures/minius.png">'; elseif ($donnees['lieux1']=='EU') echo '<img src="../../pictures/minifr.png">'; elseif ($donnees['lieux1']=='JAP') echo '<img src="../../pictures/minijp.png">'; else echo 'Le probleme vient de tes conditions ;-)'; echo $donnees['jeux1'] . ' - ' . $donnees['date1'] . '<br />'; } mysql_close() ?>
Cordialement
Revan
killermano66
Messages postés
233
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 novembre 2010
41
20 janv. 2009 à 20:41
20 janv. 2009 à 20:41
Alors ça m'affiche le contenue du else :
Le probleme vient de tes conditions ;-).
Pourrais tu m'expliquer mon erreur car je ne la comprend absolument pas. Ce petit bout de code me paraissait trés simple lorsque je l'ai écrit et je me rend compte que j'ai fait un peu n'importe quoi.
Merci à toi ;)
Le probleme vient de tes conditions ;-).
Pourrais tu m'expliquer mon erreur car je ne la comprend absolument pas. Ce petit bout de code me paraissait trés simple lorsque je l'ai écrit et je me rend compte que j'ai fait un peu n'importe quoi.
Merci à toi ;)
Revan26914
Messages postés
1778
Date d'inscription
dimanche 14 octobre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
320
20 janv. 2009 à 22:08
20 janv. 2009 à 22:08
Je dirai que le problème vient du contenu de ta table. Le contenu ne remplit pas les conditions, c'est-à-dire qu'aucun lieux1 ayant pour id 1 n'est égal soit à USA, soit EU ou soit JAP.
Peux-tu nous mettre le résultat de ce code:
Peux-tu nous mettre le résultat de ce code:
<?php include('../connection.php'); $requete_selection = mysql_query('SELECT * FROM sortie WHERE id="1"') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); while ($donnees = mysql_fetch_array($requete_selection)) { echo $donnees['lieux1'].'<br/>'; } mysql_close() ?>
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
20 janv. 2009 à 21:58
20 janv. 2009 à 21:58
si tu écris :
print_r($donnees);
tu obtiens quoi ?
print_r($donnees);
tu obtiens quoi ?
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
20 janv. 2009 à 22:21
20 janv. 2009 à 22:21
bonsoir , si tu fait comme ça
je pense que le while ne s'impose pas car tu met une clause where id=1, est un id en autoincrement?
j'ai juste modifié un peu les quotes et les doubles quotes
je pense que le while ne s'impose pas car tu met une clause where id=1, est un id en autoincrement?
<?php include('../connection.php'); $requete_selection = mysql_query('SELECT lieux1 , date1 FROM sortie WHERE id="1"') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); list($donnees , $date)= mysql_fetch_array($requete_selection); switch($donnees) { case "USA": echo '<img src="../../pictures/minius.png">'; break; case "EU": echo '<img src="../../pictures/minifr.png">'; case "JAP": echo '<img src="../../pictures/minijp.png">'; break; } echo $donnees . ' - ' . $date . '<br />'; mysql_close() ?>
j'ai juste modifié un peu les quotes et les doubles quotes
killermano66
Messages postés
233
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 novembre 2010
41
21 janv. 2009 à 12:44
21 janv. 2009 à 12:44
Alors,
echo "donnee lue=".$donnees['lieux1']."fin de lecture"; me renvoi
donnee lue= USA fin de lecture
donc j'ai bien l'impression qu'il y a un espace mais je ne vois pas d'ou il peut bien sortir. J'utilise pour entrer les données dans la BDD une liste déroulante :
<select name="lieux1">
<option value="<?php echo $donnees['lieux1']; ?>"><?php echo $donnees['lieux1']; ?></option>
<option value="USA">USA</option>
<option value="EU">EU</option>
<option value="JAP">JAP</option>
</select>
Et puis de toute façon si je rajoute cette espace comme ceci :
f ($donnees['lieux1']==" USA"){
echo '<img src="../../pictures/minius.png">';
}
Ca ne me donne rien.
Merci encore.
echo "donnee lue=".$donnees['lieux1']."fin de lecture"; me renvoi
donnee lue= USA fin de lecture
donc j'ai bien l'impression qu'il y a un espace mais je ne vois pas d'ou il peut bien sortir. J'utilise pour entrer les données dans la BDD une liste déroulante :
<select name="lieux1">
<option value="<?php echo $donnees['lieux1']; ?>"><?php echo $donnees['lieux1']; ?></option>
<option value="USA">USA</option>
<option value="EU">EU</option>
<option value="JAP">JAP</option>
</select>
Et puis de toute façon si je rajoute cette espace comme ceci :
f ($donnees['lieux1']==" USA"){
echo '<img src="../../pictures/minius.png">';
}
Ca ne me donne rien.
Merci encore.
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
21 janv. 2009 à 16:28
21 janv. 2009 à 16:28
essayes avec:
if (trim($donnees['lieux1'])=="USA")