MYSQL avec des AND, avec des OR

ganja120 Messages postés 18 Statut Membre -  
GallyNet Messages postés 437 Statut Membre -
Bonjour à tous,

J'ai une fonction telle que celle-ci :

mysql_query("SELECT * FROM table WHERE type LIKE '$type' OR type2 LIKE '$type' AND marge LIKE '$marge'")

en ôtant la dernière condition, à savoir " AND marge like '$marge ' "

tout fonctionne, mais dès que je la met, seulement la première condition fonctionne.

Est-il impossible de mettre trois conditions? Erreur de syntaxe?

Ou alors j'ai fais une grosse faute de logique...

Merci d'avance :)

Ben
A voir également:

1 réponse

GallyNet Messages postés 437 Statut Membre 387
 
Si on décompose t'on expression on obtient:
On sélectionne tout quand:
- type LIKE '$type'
ou
- type2 LIKE '$type' ET marge LIKE '$marge'

le OR et le AND, c'est comme avec le * et le +

tu veut pas plutot faire :
On sélectionne tout quand:
- type LIKE '$type' ET marge LIKE '$marge'
ou
- type2 LIKE '$type' ET marge LIKE '$marge'

dans ce cas la il faudrait rajouter des parenthèse:
mysql_query("SELECT * FROM table WHERE (type LIKE '$type' OR type2 LIKE '$type') AND marge LIKE '$marge'")
1