8791 sujets

Développement web côté serveur, CMS

Bonjour,


J'ai vu que pour créer un moteur de recherche sur son site, on peut utiliser LIKE.

Et en mettant LIKE "%test%" on pouvait avoir n'importe quelle information comportant la chaine "test".

Donc si maintenant je stocke, dans ma base de donnée, le mot "alsacreations", et que j'ai dans ma requête, par exemple, LIKE "%alsa%", ou %creation%, il me trouvera toujours "alsacreations" car le mot alsacreations contient les mots-clé alsa et creation

Mais si maintenant je stocke "alsa", je voudrais pouvoir le trouver en cherchant "alsacreations" dans le moteur de recherche, donc pouvoir faire l'inverse car le mot-clé alsa est contenu dans alsacreations...


Vous voyez ce que je veux dire ? Donc je voudrais savoir comment faire ceci, si c'est possible !


Merci à vous !
Modifié par Crousti2 (02 Jun 2012 - 10:18)
Modérateur
Et l'eau,

A ma connaissance, ce n'est pas possible. Le LIKE pourrait un peu s'apparenter à la fonction ctrl+f d'un browser ou d'un editeur de texte. Suivant ton exemple ce n'et pas possible (chercher plus que ce qu'il faut)
Ah dommage !!

Ce serait super pratique ! Par exemple je cherche Clémentine, il me trouve quelque chose qui est enregistré sous "Clem" !
salut,

je suis pas sur que le fulltext marche dans ce sens sur mysql. En tout cas je l'utilise pour trouver des adresses dans un moteur de recherche et si on tape "lotissement" et qu'en base j'ai "lot", ça ne me retourne pas de résultats ! Smiley decu (mais si quelqu'un a la soluce ?)

en revanche, j'ai une autre solution, qui fonctionne bien mais qui est beaucoup plus gourmande en ressource :

en gros il faut définir une variable mysql et faire un REGEXP dans ta clause WHERE avec cette variable.

exemple :
pour ce qui est de la variable :
SET @a= "toto";


la requete :
 SELECT *, @a FROM table WHERE @a REGEXP(Mon_Champ)


avec ce code, si tu tapes toto et qu'en base tu as juste "to", ça devrait te trouver le résultat.

ps : c'est vrai que ça à pas l'air très académique comme code, surtout quand on regarde la documentation mysql de REGEXP mais ça marche vraiment Smiley smile
Ok merci beaucoup, là y a pas mal de truc que je connais pas très bien... donc avant de l'utiliser je vais d'abord me renseigner...