Bonjour à tous,
Je ne trouve pas de solution, voici mon problème :
J'ai une table avec la structure suivante :
Dans cette table j'ai des données de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 meta_id bigint(20) post_id bigint(20) meta_key varchar(255) meta_value longtext
J'ai une recherche sur mon site avec un champ d'entrée permettant d'aller rechercher dans cette table. Celui-ci est intitulé "nom ou prenom".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 632311 38396 prenom DIDIER 632312 38396 nom COSTEAUX
Quand le visiteur saisi un nom ==> pas de soucis.
Quand le visiteur saisi un prenom ==> pas de soucis.
Par contre quand le visiteur saisi un nom et un prenom aucun résultat ne sort malgrès le fait que la donnée existe. Et pour cause ma requete est constituée comme cela :
Ce qui fait qu'aucun résultat ne peux apparaître de cette manière.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ... AND ((meta_key = "nom" AND meta_value LIKE "%didier costeaux%") OR (meta_key = "prenom" AND meta_value LIKE "%didier costeaux%")) ...
selon moi il y a deux approches, soit en découpant la chaîne saisie en entrée par le visiteur mais savoir quelle valeur correspond à quelle clef (nom ou prénom).
Sinon la seconde approche est de concatener les nom & prenom au moment de la recherche.
La seconde approche me parait la plus logique, mais impossible de combiner les concact et le fait de devoir toujours coupler avec la meta_key.
Est ce que quelqu'un aurait une idée ? Merci de votre aide !!!
Partager