joboy84 Posté 23 Avril 2009 Posté 23 Avril 2009 (modifié) Bonjour J'ai un problème avec une de mes requêtes et je ne sais pas d'où elle provient...Celà fait 2 heures que je cherche! Voici la bébête lol : <?php$AfficherBanniere = mysql_query('SELECT idbanniere FROM LogBanniere WHERE Pseudo="'.$_SESSION['pseudo'].'" AND nbAffichage <= "100" OR Clic="Oui" GROUP BY idbanniere') or die ('erreur: '.mysql_error());?> Après avoir effectué plusieurs tests, il semblerai que si le champ Clic contient la valeur Oui, c'est pris en compte, par contre si le champ nbAffichage contient plus de 100 entrées, ce n'est pas pris en compte. En effet, j'ai fais un script qui demande de m'afficher les id des bannières correspondants à la requête. J'ai une première bannière avec le champ "Clic=Oui", "nbAffichage=12" et il me retourne l'id, puis une autre bannière dont le champ "Clic=Non" mais "nbAffichages=120". Dans le 2ème cas, il y a bien plus de 100 affichages et il devrait me retourner l'id mais il n'en est rien... Merci pour votre aide Modifié 23 Avril 2009 par joboy84
Dadou Posté 23 Avril 2009 Posté 23 Avril 2009 Bah non justement puisque dans ta requête tu demandes les moins de 100 affichages, donc il ne te retournera ceux à plus de 100 qu'a la seul condition que clic =oui alorsque la tu as non
joboy84 Posté 23 Avril 2009 Auteur Posté 23 Avril 2009 Ce que je demande: SELECT idbanniere FROM LogBanniere WHERE Pseudo="'.$_SESSION['pseudo'].'" Selectionne le champ idbanniere de la Table LogBanniere dont le Pseudo=$_SESSION['pseudo'] AND nbAffichage <=100 OR Clic="Oui" GROUP BY idbanniere ET dont le nombre d'affichages est inférieur ou égal à 100 OU dont la valeur du champ "Clic" est "Oui" Enfin c'est comme ca que je comprends ma requête... Ce que je veux c'est qu'il affiche l'id quand il y a soit plus de 100 affichages, soit la valeur Oui dans le champ Clic...
Dan Posté 23 Avril 2009 Posté 23 Avril 2009 C'est ce que te dit Dadou : remplace AND nbAffichage <=100 par AND nbAffichage > 100
joboy84 Posté 23 Avril 2009 Auteur Posté 23 Avril 2009 Oups...Effectivement...Suis pas très logique aujourd'hui...Je vais retourner me coucher lol Merci encore
jcaron Posté 23 Avril 2009 Posté 23 Avril 2009 Un point qui risque de te jouer des tours à un moment ou un autre... a AND b OR c, c'est mieux avec des parenthèses. Parce que (a AND OR c et a AND (b OR c), ce n'est pas la même chose. A mon avis tu veux le deuxième, or sans les parenthèses c'est le premier qui est évalué il me semble... Jacques.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant