Recherche approximative

Sylvie -  
sebsauvage Messages postés 33415 Statut Modérateur -
Bonjour à tous.

J'aimerais savoir comment faire pour faire une recherche approximative sur un champ de ma base de données. Je m'explique. L'utilisateur saisit un objet. Je voudrais vérifier que l'objet n'existe pas déjà avec une faute d'ortographe par exemple pour savoir si je dois l'insérer ou le modifier.

Exemple : L'utilisateur saisit Programer Je fais une recherche approximative qui me renverra Programmer qui existe déjà dans la base. Je lui répondrais Programer existe déjà avec cet orthographe, blabla.

J'ai cherché sur le net et je suis tombé sur un truc qui me parlait de soundex mais ça c'est que pour les ressemblances phonétiques... Quelqu'un connait il un moyen de faire une telle recherche ?

Merci d'avance.

9 réponses

teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Salut,
Pourtant dans ton exemple l'algo soundex marcherait parfaitement! Tu prends la première lettre, P dans les deux cas, suivi des 3 premières consomnes (les doubles ne comptent qu'une fois) c'est à dire dans ton cas rgr et dans les deux cas tu as Prgr donc tu fais le lien...

Qui va en mer pour son plaisir,
irait en enfer pour ses vacances
0
Sylvie
 
Oui, mais je n'arrive pas à utiliser soundex. Comment faut-il faire ? Ca me mets un message d'erreur comme quoi la fonction est inconnue.
Merci de ton aide
0
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Quelle fonction?

Qui va en mer pour son plaisir,
irait en enfer pour ses vacances
0
Sylvie
 
La fonction soundex.
En fait j'ai fait une requete sql que voici :
SELECT * FROM ma_table WHERE soundex(mon_champs) = soundex(la_saisie)

Et là, il m'a répondu que la fonction soundex etait inconnue
0
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Ca serait trop facile, c'est à toi de l'implémenter :o)

Qui va en mer pour son plaisir,
irait en enfer pour ses vacances
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sylvie
 
Et je dois faire comment pour l'implémenter ?
0
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Ca dépend de ton langage et de ta base de données :o)

Qui va en mer pour son plaisir,
irait en enfer pour ses vacances
0
Sylvie
 
Je travaille en asp avec une base de données qui est pour le moment sous Access mais que je dois migrer bientôt en SQL Server ou Oracle...
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
0
andante Messages postés 4090 Date d'inscription   Statut Membre Dernière intervention   39
 
(parenthèse)
Il est parfaitement exact qu'une recherche sur internet permet de résoudre plein de problèmes et qu'une recherche dans groupes en particuliers sur google peut être très utile. Mais c'était juste pour encourager à utiliser aussi d'autres moteurs que google. Je ne visais pas du tout ce post en particulier. J'ai lu souvent utilisez google. Certes, sa base de données est très importante, mais il yen a d'autres. :)

Il n'ya jamais rien de pire que l'argument d'autorité.
0
alex
 
Je crois qu'il fallait comprendre que le net est rempli de réponses qu'on ne prend pas le temps de chercher. Ca rejoint le diction "aide-toi le ciel t'aidera" ! D'abord chercher, ensuite demander de l'aide. C'est comme si on demandait son chemin à quelqu'un devant le plan du quartier...
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
Pour Google, je suis d'accord: ils ne sont pas les seuls.
0