AND & OR dans la même reuqête

Eléphant du PHP | 333 Messages

26 avr. 2009, 04:53

Bonjour

Je tente de formuler une requête, qui recherche mon "keyword" dans plusieurs champs mais en tenant compteur d'une fonction. Voici mon exemple WHERE...... il est facile a comprendre, mais il ne fonctionne pas. Pöuvez vous m'aider
WHERE acces='$user' AND ordinateur LIKE '%".$keywords."%' OR programme LIKE '%".$keywords."%' OR siteweb LIKE '%".$keywords."%' OR adresseweb LIKE '%".$keywords."%'
Ce n'est pas toujours facile d'essayer, mais c'est toujours vallorisant lorsqu'on y arrive !!!

Apprenez, ne le faite pas faire par les autres.

Mammouth du PHP | 693 Messages

26 avr. 2009, 08:47

Le AND est prioritaire. Donc la ta condition c'est, soit acces=user et ordianteur LIKE... , soit programme, soit siteweb, soit adressweb.

Je suppose que tu veux vérifier user puis ensuite si sa requete correspond à quelque chose. Dans ce cas, il faut mettre entre parenthèses les OR
WHERE acces='$user' AND 'ordinateur LIKE '%".$keywords."%' OR programme LIKE '%".$keywords."%' OR siteweb LIKE '%".$keywords."%' OR adresseweb LIKE '%".$keywords."%')

Eléphant du PHP | 333 Messages

26 avr. 2009, 18:36

Super, merci mais si je peux me permettre j'ai remplace le ' par un ( au début du premier OR.
WHERE acces='$user' AND (ordinateur LIKE '%".$keywords."%' OR programme LIKE '%".$keywords."%' OR siteweb LIKE '%".$keywords."%' OR adresseweb LIKE '%".$keywords."%')
Génial c'est résolu
Ce n'est pas toujours facile d'essayer, mais c'est toujours vallorisant lorsqu'on y arrive !!!

Apprenez, ne le faite pas faire par les autres.