problème de AND et OR dans mon select

problème de AND et OR dans mon select - PHP - Programmation

Marsh Posté le 23-08-2008 à 15:50:50    

Bonjour,
J'ai un soucis avec le select suivant:

Code :
  1. $requete=mysql_db_query($sql_bdd,"select * from acces, membres where id=\"$id\" AND id_membre=idmembre AND role=\"Administrateur\" OR role=\"Editeur\" ",$db_link) or die(mysql_error());
  2. $pseudo_membre=mysql_result($requete,0,"pseudo" );
  3. $nom=mysql_result($requete,0,"nom" );
  4. $prenom=mysql_result($requete,0,"prenom" );


Je voudrais afficher des infos sur base de cette requete, mais j'ai un souci au niveau des roles.
Je voudrais par exemple afficher le nom de la personne.
Pour une personne qui a le role de "Editeur" ca ne passe pas, c'est le nom du premier enregistrement de ma table qui s'affiche. Si j'enlève role=\"Administrateur\", là tout va bien.  
Mais je voudrais que cette requete fonctionne que l'on soit Editeur ou Administrateur. Où est le problème? merci


Message édité par bingojm le 23-08-2008 à 15:54:32
Reply

Marsh Posté le 23-08-2008 à 15:50:50   

Reply

Marsh Posté le 23-08-2008 à 15:58:45    

Je peux me gourer mais des parentheses aideraient :

Code :
  1. $query = "SELECT * FROM acces, membres WHERE id='$id' AND id_membre=idmembre AND (role='Administrateur' OR role='Editeur')";
  2. $requete=mysql_db_query ($sql_bdd, $query, $db_link) or die (mysql_error());


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 23-08-2008 à 16:00:14    

sinon tu pourrais aussi faire qqch comme ca :
role IN ('Administrateur', 'Editeur')
 
A tester


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 23-08-2008 à 16:01:53    

Tout simplement formidable.
Merci beaucoup!!

Reply

Marsh Posté le 23-08-2008 à 17:39:59    

SICKofitALL a écrit :

sinon tu pourrais aussi faire qqch comme ca :
role IN ('Administrateur', 'Editeur')
 
A tester


 
l'optimiseur de requêtes transforme en général ce genre d'expression en l'équivalent avec des OR

Reply

Sujets relatifs:

Leave a Replay

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