Recherche approximative
Résolu
janmar
Messages postés
148
Date d'inscription
Statut
Membre
Dernière intervention
-
janmar Messages postés 148 Date d'inscription Statut Membre Dernière intervention -
janmar Messages postés 148 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
Je renouvelle ma question déjà posée, mais vue sous un angle un peu différent :
Sur mon site, les utilisateurs s'inscrivent eux-mêmes. J'ai un problème pour les prénoms :
Rien n'empêche une utilisatrice d'inscrire son prénom sous la forme Hélene.
Il manque l'accent grave sur le deuxième e , et moi, je ne le sais pas.
Evidemment une recherche avec Hélène ne marchera pas, pas plus qu'avec Helene.
Comment faire une recherche approximative évitant les accents ?
Il existe bien la solution de supprimer tous les accents, mais ce n'est pas du bon français !...
Merci de votre aide.
A voir également:
- Recherche approximative
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Recherche photo - Guide
- Je recherche une chanson - Guide
- Rechercher ou entrer l'adresse 4 - recherche google ✓ - Forum Windows
9 réponses
Salut, j'ai trouvé ça :
http://johannes-fetz.blogspot.com/2009/10/select-non-sensible-aux-accents-avec.html
Je me suis pas vraiment penché dessus, mais dis moi si ça marche :)
http://johannes-fetz.blogspot.com/2009/10/select-non-sensible-aux-accents-avec.html
Je me suis pas vraiment penché dessus, mais dis moi si ça marche :)
Bonjour,
T'es pas obligé de supprimer tous les accents.
Si t'as une fonction
Il faut juste que tu associe à chaque sansAccent("prénoms"), le "prénoms" qui correspond pour que tu ressortes finalement celui avec les accents.
Redis moi si ça te parait pas clair ;)
Cdlt,
T'es pas obligé de supprimer tous les accents.
Si t'as une fonction
String sansAccent(String)Au lieu de comparer "Hélene" avec tous les "prénoms" de la BDD, tu compares sansAccent("Hélene") avec tous les sansAccents("prénoms").
Il faut juste que tu associe à chaque sansAccent("prénoms"), le "prénoms" qui correspond pour que tu ressortes finalement celui avec les accents.
Redis moi si ça te parait pas clair ;)
Cdlt,
Je te remercie de ta réponse, seulement j'y vois un gros problème :
Je ne sais pas à priori quels sont les prénoms qui vont s'inscrire. Cela peut être Adélaïde, Hélène, Danièle, Danielle, Maëlle etc... Donc, je ne peux à priori faire une association de sansaccent('prenoms') avec le prénom correct, ou alors je dois prévoir tous les prénoms du dictionnaire !........
En fait, mon problème est encore mal posé.
Un internaute s'inscrit librement sur mon site. Il fait une faute de frappe sans le vouloir et enregistre son prénom = Helène par exemple.
Cela posera forcément un problème lors de recherches ultérieures.
Je sais bien que je peux associer le nom et le prenom et faire une recherche sur les deux avec un OU, mais je pourrais trouver différentes fiches avec des orthographes différentes, ce qui prêterait à confusion.
Je risque fort de me retrouver avec :
DUPONT Hélène
DUPONT Helène
DUPONT Hélene
L'idéal serait que je puisse comparer le prénom dans un dictionnaire, pour donner le choix d'orthographe AVANT l'enregistrement dans la bdd.
Mais ça, ça me parait bien compliqué !....
Je crois que je vais me résoudre à enregistrer le prénom mal orthographié, et à adapter mes recherches en combinant le nom et le prénom.
En tous cas, merci de ton aide.
Je ne sais pas à priori quels sont les prénoms qui vont s'inscrire. Cela peut être Adélaïde, Hélène, Danièle, Danielle, Maëlle etc... Donc, je ne peux à priori faire une association de sansaccent('prenoms') avec le prénom correct, ou alors je dois prévoir tous les prénoms du dictionnaire !........
En fait, mon problème est encore mal posé.
Un internaute s'inscrit librement sur mon site. Il fait une faute de frappe sans le vouloir et enregistre son prénom = Helène par exemple.
Cela posera forcément un problème lors de recherches ultérieures.
Je sais bien que je peux associer le nom et le prenom et faire une recherche sur les deux avec un OU, mais je pourrais trouver différentes fiches avec des orthographes différentes, ce qui prêterait à confusion.
("SELECT Nom,Prenom FROM identite WHERE Nom = '$nom' OR Prenom = '$prenom' ");
Je risque fort de me retrouver avec :
DUPONT Hélène
DUPONT Helène
DUPONT Hélene
L'idéal serait que je puisse comparer le prénom dans un dictionnaire, pour donner le choix d'orthographe AVANT l'enregistrement dans la bdd.
Mais ça, ça me parait bien compliqué !....
Je crois que je vais me résoudre à enregistrer le prénom mal orthographié, et à adapter mes recherches en combinant le nom et le prénom.
En tous cas, merci de ton aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si j'ai bien compris, tu veux vérifier une saisie utilisateur.
Mais si quelqu'un s'appelle Héléne, où qu'un nouveau prénom vient au monde (avec le corps qui va avec bien-sûr).
Il ne sera pas dans ta base, tu lui refuse l'accès ?
Au passage les navigateur les plus développés aujourd'hui ont un très bon dictionnaire.
Mais si quelqu'un s'appelle Héléne, où qu'un nouveau prénom vient au monde (avec le corps qui va avec bien-sûr).
Il ne sera pas dans ta base, tu lui refuse l'accès ?
Au passage les navigateur les plus développés aujourd'hui ont un très bon dictionnaire.
Ta réponse m'intéresse.
"Les navigateurs les plus développés ont un très bon dictionnaire"
Y aurait-il un moyen de comparer la saisie avec le dictionnaire ?
J'ai aussi entendu parler de l'addon ENCHANT pour PHP, mais je ne comprends pas bien son utilisation. Il semble que ce soit un dictionnaire ?? mais la doc PHP est difficile à comprendre.
https://www.php.net/manual/fr/book.enchant.php
"Les navigateurs les plus développés ont un très bon dictionnaire"
Y aurait-il un moyen de comparer la saisie avec le dictionnaire ?
J'ai aussi entendu parler de l'addon ENCHANT pour PHP, mais je ne comprends pas bien son utilisation. Il semble que ce soit un dictionnaire ?? mais la doc PHP est difficile à comprendre.
https://www.php.net/manual/fr/book.enchant.php
Merci pour ta réponse.
J'ai un peu parcouru ce qu'est un LIKE et un COLLATE.
Ça ne m'a pas inspiré du premier coup !.....
Je vais approfondir cela.
Merci
J'ai un peu parcouru ce qu'est un LIKE et un COLLATE.
Ça ne m'a pas inspiré du premier coup !.....
Je vais approfondir cela.
Merci
Exact, c'est bien ce qu'il me faut pour mon problème.
Je te remercie d'avoir insisté, je ne serai pas revenu voir sur ces fonctions, j'avais eu une mauvaise impression au début.
Par ailleurs, j'ai découvert des fonctions assez amusantes et qui peuvent rendre service :
https://www.php.net/manual/fr/refs.international.php
Sujet résolu.
Merci
Je te remercie d'avoir insisté, je ne serai pas revenu voir sur ces fonctions, j'avais eu une mauvaise impression au début.
Par ailleurs, j'ai découvert des fonctions assez amusantes et qui peuvent rendre service :
https://www.php.net/manual/fr/refs.international.php
Sujet résolu.
Merci