|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 2 ![]() |
Salut,
je travaille actuellement à un petit moteur de recherche sur un site en php/mysql et je me trouve confronté à ce problème : je stocke mes données texte dans la base, aprés avoir transformé tous les caractères spéciaux dans leur equivalent html, ceci à l'aide de la fonction php : htmlentities() ce que tout le monde conseille apparemment... j'ai ensuite un champ de recherche, dont je récupère la valeur (aprés l'avoir passée par htmlentities), et que j'envois dans une requete mysql de type fulltext (bien pratique pour la pertinence des résultats!) jusque là tout va bien, si je recherche étoile (avec un accent), et que le mot étoile est trouvé dans la base, ca marche MAIS si je recherche etoile (sans accent!!!) je n'ai bien entendu aucuns résultat hors, je pense qu'il y'a plus de probalilité que les visiteurs fassent des recherches sur des expressions sans les accents que le contraire mon moteur n'est donc pas valide ! je me dis qu'il y'a peut être une fonction dispo dans mysql qui permet de passer outre ce problème, du genre -> une requete qui serait capable de comparer l'expression voulue avec celles contenues dans la base AVEC et SANS les caractères spéciaux (le é serait remplacé par le e, è par e, ç par c ...etc...) j'ai bien cherché dans les fonctions sur les chaines de caractère de mysql, mais je n'ai rien trouvé quelque developpeur aurait-il un indice ? Clt, Antoine |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() |
__________________
N'oubliez pas le Tag : ![]() C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama] Je ne réponds pas aux messages privés s'ils sont liés à une question du forum Mon site sur Developpez.com |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 2 ![]() |
je crois que je n'ai pas expliqué de facon assez détaillée ma démarche,
c'est sur le contenu de la base que j'ai besoin d'effectuer cette action et ce, à l'interieur d'une requete sql connaissez vous les requêtes FULLTEXT de mysql ? voici ma requête : Code :
libelle et description sont les 2 champs de la base sur lesquels je veux que la recherche s'effectue $recherche est le champ saisi par l'internaute le résultat de cette requete donne les enregistrements contenant l'expression $recherche (avec la possibilité par la suite de les classer suivant le nombre d'occurences trouvées pour chaque enregistrement, c'est tout l'intérêt de cette formule) dans les champs libelle et description, le texte est enregistré avec les equivalents html le mot étoile, s'y trouve donc sous cette forme : étoile alors, si je recherche etoile (sans accent) la requete ne trouve rien, mon moteur n'est donc pas valide... |
||
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() |
Tu peux aller voir la question suivante :
SET ... REPLACE() de MySQL
__________________
N'oubliez pas le Tag : ![]() C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama] Je ne réponds pas aux messages privés s'ils sont liés à une question du forum Mon site sur Developpez.com |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com