Un petit soucis de requête SQL.


tryan
WRInaute passionné
WRInaute passionné
 
Messages: 2291
Inscription: 20 Fév 2005

Un petit soucis de requête SQL.

Message le Dim Nov 15, 2009 22:39

Salut,
J'ai un petit soucis sur la requête SQL suivante qui permet d'effectuer une recherche:
Code: Tout sélectionner
$query = mysql_query("SELECT * FROM MA_TABLE WHERE validation = '1' AND champ1 LIKE '%$requete%' OR champ2 LIKE '%$requete%' OR champ3 '%$requete%' ORDER BY id ASC") or die (mysql_error());


Je veux pouvoir faire une recherche sur différents champs en prenant en compte que les résultats trouvés soit égal à 1 sur le champ validation (validation = '1'). J'ai du louper un truc, car ma requête me sort absolument tout même si mon champ validation = '0' 8O :?:

Ou est mon erreur SVP?

Merci


bgdc
WRInaute impliqué
WRInaute impliqué
 
Messages: 723
Inscription: 23 Mai 2005

Re: Un petit soucis de requête SQL.

Message le Dim Nov 15, 2009 23:26

Bonjour,

Commence deja par rajouter le like qui manque après le champ3.
Ensuite si ça ne marche tjrs pas, essaye de bien séparer les AND des OR


tryan
WRInaute passionné
WRInaute passionné
 
Messages: 2291
Inscription: 20 Fév 2005

Re: Un petit soucis de requête SQL.

Message le Dim Nov 15, 2009 23:34

bgdc a écrit:Bonjour,

Commence deja par rajouter le like qui manque après le champ3.
Ensuite si ça ne marche tjrs pas, essaye de bien séparer les AND des OR


Erreur de copier/trafiquer :mrgreen: , à l'origine mon code ne comporte pas cette erreur. Par contre j'ai pas trop comprit ton truc sur le faite de bien séparer les AND des OR ??

Voici ma requête telle que je l'utilise:
Code: Tout sélectionner
$query = mysql_query("SELECT * FROM MA_TABLE WHERE validation = '1' AND motcle_de_la_page LIKE '%$requete%' OR titre_de_la_page LIKE '%$requete%' OR description_de_la_page LIKE '%$requete%' OR contenue_de_la_page LIKE '%$requete%' OR url_de_la_page LIKE '%$requete%' ORDER BY id ASC") or die (mysql_error());


Je "pense" qu'elle est correcte, que tout est bien séparé .. bref, je ne vois vraiment pas ou ça cloche 8O !


bgdc
WRInaute impliqué
WRInaute impliqué
 
Messages: 723
Inscription: 23 Mai 2005

Re: Un petit soucis de requête SQL.

Message le Dim Nov 15, 2009 23:40

En fait la séparation consiste a mettre des parenthèses :D

Essaye comme ça :

Code: Tout sélectionner
$query = mysql_query("SELECT * FROM MA_TABLE WHERE validation = '1' AND ( motcle_de_la_page LIKE '%$requete%' OR titre_de_la_page LIKE '%$requete%' OR description_de_la_page LIKE '%$requete%' OR contenue_de_la_page LIKE '%$requete%' OR url_de_la_page LIKE '%$requete%')  ORDER BY id ASC") or die (mysql_error());


tryan
WRInaute passionné
WRInaute passionné
 
Messages: 2291
Inscription: 20 Fév 2005

Re: Un petit soucis de requête SQL.

Message le Dim Nov 15, 2009 23:49

Bingo :wink: .

Bon, je dois avouer être un peut dégouté pour 2 parenthèses .. la prochaine fois je serais .
Grand merci bgdc :mrgreen:


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités