Un petit soucis de requête SQL.

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


tryan
WRInaute accro
WRInaute accro
 
Messages: 1536
Inscription: Dim Fév 20, 2005 14:14

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 passionné
WRInaute passionné
 
Messages: 657
Inscription: Lun Mai 23, 2005 20:51

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 accro
WRInaute accro
 
Messages: 1536
Inscription: Dim Fév 20, 2005 14:14

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 passionné
WRInaute passionné
 
Messages: 657
Inscription: Lun Mai 23, 2005 20:51

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 accro
WRInaute accro
 
Messages: 1536
Inscription: Dim Fév 20, 2005 14:14

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:


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

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