PHP/MySql > Clause LIKE ...

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

zimounet
WRInaute accro
WRInaute accro
 
Messages: 1796
Inscription: Lun Nov 08, 2004 20:57

PHP/MySql > Clause LIKE ...

Message le Jeu Fév 16, 2006 6:05

Hello @ tous!

Je veux faire une recherche dans mysql, dans un champ varchar, qui contient des noms d'artistes.

Je voudrais faire une recherche, par exemple que quand on tape "farmer", il me sorte "Mylene Farmer". Pour l'instant, j'ai fait ceci:

WHERE artiste LIKE '%$name%'");

et cela semble fonctionner.

Par contre, si je met "Gislain Farmer", la il me sors pas ma Mylene adoré, alors que je veux qu'il me la trouve!!!

Comment faire?


mr_go
WRInaute accro
WRInaute accro
 
Messages: 1945
Inscription: Mer Sep 21, 2005 16:02

Message le Jeu Fév 16, 2006 8:08

Normal, il va rechercher LIKE %Gislain Farmer%.

Il te faudrait faire un parsing de la chaine de caractère pour dégager le nom "Farmer"...

hollenfurst
WRInaute discret
WRInaute discret
 
Messages: 53
Inscription: Mer Juil 13, 2005 11:03

mysql

Message le Jeu Fév 16, 2006 8:29

en effet il te suffit de scinder ta string recherchée en fonction des espace par exemple et tu les place dans ta requete style 'WHERE nom=bibi OR nom=farmer

mf
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 161
Inscription: Mer Mai 07, 2003 21:13

Re: mysql

Message le Jeu Fév 16, 2006 10:16

hollenfurst a écrit:en effet il te suffit de scinder ta string recherchée en fonction des espace par exemple et tu les place dans ta requete style 'WHERE nom=bibi OR nom=farmer


plustot ca :
WHERE nom like '%bibi%' OR nom like '%farmer%'


mr_go
WRInaute accro
WRInaute accro
 
Messages: 1945
Inscription: Mer Sep 21, 2005 16:02

Message le Jeu Fév 16, 2006 10:19

Oui plutot ca effectivement...

Pour optimiser, tu peux toujours t'amuser à tester les SOUNDS mais je n'ai jamais testé...


ecocentric
WRInaute accro
WRInaute accro
 
Messages: 3577
Inscription: Mar Fév 10, 2004 16:40

Re: mysql

Message le Jeu Fév 16, 2006 11:40

mf a écrit:
hollenfurst a écrit:en effet il te suffit de scinder ta string recherchée en fonction des espace par exemple et tu les place dans ta requete style 'WHERE nom=bibi OR nom=farmer


plustot ca :
WHERE nom like '%bibi%' OR nom like '%farmer%'


Y a-t-il moyen d'inclure de la pertinence dans ce genre de tri ? Par exemple, en mettant les résultats avec Mylène Farmer devant ceux avec Farmer uniquement ?


mr_go
WRInaute accro
WRInaute accro
 
Messages: 1945
Inscription: Mer Sep 21, 2005 16:02

Message le Jeu Fév 16, 2006 11:44

Ca risque d'être un peu dur ca!

Je passe mon tour pour celle là!

:D


ecocentric
WRInaute accro
WRInaute accro
 
Messages: 3577
Inscription: Mar Fév 10, 2004 16:40

Message le Jeu Fév 16, 2006 11:53

mr_go a écrit:Ca risque d'être un peu dur ca!

Je passe mon tour pour celle là!

:D


Je ne vois pas non plus comment faire en MySQL, c'est pour ça que je pose la question ;-). La seule que je vois, c'est un second niveau de tri en PHP du résultat SQL..


mr_go
WRInaute accro
WRInaute accro
 
Messages: 1945
Inscription: Mer Sep 21, 2005 16:02

Message le Jeu Fév 16, 2006 11:57

Ah parce que tu voulais tout faire en Mysql d'un coup ?
Ca me parait impossible.


Du reste l'implémentation de ce système doit être assez colossale... bon courage ;)

mf
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 161
Inscription: Mer Mai 07, 2003 21:13

Re: mysql

Message le Jeu Fév 16, 2006 13:27

ecocentric a écrit:
mf a écrit:
hollenfurst a écrit:en effet il te suffit de scinder ta string recherchée en fonction des espace par exemple et tu les place dans ta requete style 'WHERE nom=bibi OR nom=farmer


plustot ca :
WHERE nom like '%bibi%' OR nom like '%farmer%'


Y a-t-il moyen d'inclure de la pertinence dans ce genre de tri ? Par exemple, en mettant les résultats avec Mylène Farmer devant ceux avec Farmer uniquement ?


sans vouloir m'avancé ni avoir la solution sous le coude mais
moi je me suis déja fait un classement avec le mot juste avant la chaine....
je sais pas si c'est clair mais avec un exemplce ca va etre mieux...

genre avec le mot : "mot"
et les champs suivant : "le mot le plus long" et "le moteur thermique"
la liste des resulat sera :
-le mot le plus long (mot juste présent)
-le moteur thermique (chaine présente)

alors je pense que c'est peut être jouable.....

shrom
WRInaute passionné
WRInaute passionné
 
Messages: 865
Inscription: Lun Juil 05, 2004 22:37

Re: mysql

Message le Jeu Fév 16, 2006 13:54

plustot ca :
WHERE nom like '%bibi%' OR nom like '%farmer%'


Y a-t-il moyen d'inclure de la pertinence dans ce genre de tri ? Par exemple, en mettant les résultats avec Mylène Farmer devant ceux avec Farmer uniquement ?


Il faut pour cela utiliser les fonctions de recherche Full Text de MySQL.


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