[Résolu] Requête MySQL - cumul de champs dans la condition

WRInaute occasionnel
Bonjour,

Soit une table avec 3 champs (champ1, champ2, champ3) et un formulaire de recherche contenant juste un input text et un bouton de validation.

J'aimerais afficher les résultats correspondants à la condition suivante :
Version php : preg_match('#'.$_GET['recherche'].'#i', $champ1.$champ2.$champ3);
Version MySQL : ???

Je cherche donc la syntaxe correct exprimant : WHERE $champ1.$champ2.$champ3 LIKE '%".$_GET['recherche']."%'

D'avance merci :wink:
 
WRInaute passionné
Re: Requête MySQL - cumul de champs dans la condition

Salut,

Par cumul tu entends bien concaténation et pas addition ?
 
WRInaute occasionnel
Re: Requête MySQL - cumul de champs dans la condition

dorian53 a dit:
Salut,

Par cumul tu entends bien concaténation et pas addition ?

Exactement !!

Je veux le texte formé par champ1 espace champ2 espace champ3

EDIT : Merci beaucoup !!!!!!

C'est donc CONCAT(champ1, ' ', champ2, ' ', champ3) like '%$recherche%'
 
WRInaute accro
Re: Requête MySQL - cumul de champs dans la condition

en moche : ... or ... or ...
sinon il vaut mieux passer par un index fulltext : AND MATCH (champ1, champ2, champ3) AGAINST ('".$texte."')
 
WRInaute occasionnel
Re: Requête MySQL - cumul de champs dans la condition

Pour répéter mon précédent EDIT

Merci beaucoup !!!!!!

C'est donc CONCAT(champ1, ' ', champ2, ' ', champ3) like '%$recherche%'

Cette méthode fonctionne très bien !!

Merci à tous pour votre aide :)
 
WRInaute accro
Re: Requête MySQL - cumul de champs dans la condition

@dorian53 la fonction CONCAT, c'est du MYSQL. Pas du PHP hein.
Tu peut très bien l'utiliser en faisant des requêtes sql avec n'importe quel langage : PHP, Python, Ruby, Java, ... à condition que cela soit sur un serveur MySQL (ou qui gère cette fonction).
 
WRInaute passionné
Re: Requête MySQL - cumul de champs dans la condition

Oui oui évidement... L'esprit était ailleurs.
 
Discussions similaires
Haut