problème avec un OR dans une requête

problème avec un OR dans une requête - PHP - Programmation

Marsh Posté le 25-10-2007 à 17:27:45    

Bonjour,
 
je ne comprends pas lorsque je mets  

Code :
  1. a.departement_id='79' OR a.departement_id='101'


a la place de ...

Code :
  1. a.departement_id='101' OR a.departement_id='79'


 
le resultat n'est pas le même, je ne comprends vraiment pas pourquoi ... Ca veut pourtant bien dire la même chose  :??:  
 

Code :
  1. $req_annonce = mysql_query("select
  2. a.id as id_departement_associe,
  3. a.annonce_id as annonce_id,
  4. a.classement as classement,
  5. b.id as id,
  6. b.nom_magasin as nom_magasin,
  7. b.image as image,
  8. b.utilisateur as utilisateur,
  9. b.categorie as categorie,
  10. b.resume as resume
  11. FROM departement_associe a LEFT JOIN annonce b ON a.annonce_id=b.id 
  12. WHERE b.etat='1' AND b.debut_parution<='".date('Y-m-d')."' AND b.fin_parution>='".date('Y-m-d')."' AND a.departement_id='101' OR a.departement_id='79'" );


 
merci de vos eclaircissements


Message édité par est_L le 25-10-2007 à 17:28:30
Reply

Marsh Posté le 25-10-2007 à 17:27:45   

Reply

Marsh Posté le 25-10-2007 à 17:39:13    

or a un priorité plus faible que and
 
donc a and b or c veut dire (a and b) or c
a and c or b veut dire (a and c) or b  
 
donc il faut que tu rajoutes des parenthèses

Reply

Marsh Posté le 25-10-2007 à 17:55:52    

super merci beaucoup pour C infos !
Ca fait 2 heures que je galère ...
 
j'ai fais ceci ...
 

Code :
  1. $req_annonce = mysql_query("select
  2. a.id as id_departement_associe,
  3. a.annonce_id as annonce_id,
  4. a.classement as classement,
  5. b.id as id,
  6. b.nom_magasin as nom_magasin,
  7. b.image as image,
  8. b.utilisateur as utilisateur,
  9. b.categorie as categorie,
  10. b.resume as resume
  11. FROM departement_associe a LEFT JOIN annonce b ON a.annonce_id=b.id
  12. WHERE b.etat='1' AND b.debut_parution<='".date('Y-m-d')."' AND b.fin_parution>='".date('Y-m-d')."' AND (a.departement_id='101' OR a.departement_id='79')" );


 
C ca ?


Message édité par est_L le 25-10-2007 à 17:58:13
Reply

Marsh Posté le 25-10-2007 à 18:35:09    

oui , ca devrait deja mieux marcher ( a toi de nous dire si les resultats sont bons :d )

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed