Aller au contenu

Problème tout bête avec une requête SELECT


Sujets conseillés

Posté (modifié)

Bonjour :smartass:

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é par joboy84
Posté

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

Posté

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...

Posté

C'est ce que te dit Dadou :

remplace

AND nbAffichage <=100

par

AND nbAffichage > 100

Posté

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 B) 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.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...