MYSQL avec des AND, avec des OR
ganja120
Messages postés
18
Statut
Membre
-
GallyNet Messages postés 437 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
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:
- MYSQL avec des AND, avec des OR
- Spybot search and destroy - Télécharger - Antivirus & Antimalwares
- Find and mount - Télécharger - Récupération de données
- Mysql community download - Télécharger - Bases de données
- Mysql error in file: /engine/classes/mysql.php at line 53 ✓ - Forum Réseaux sociaux
- X64 or x86 ✓ - Forum Windows
1 réponse
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'")
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'")