Page 1 sur 1

Comparaison textarea et base de données

Posté : 18 avr. 2014, 14:53
par Jexus11
Bonjour tout le monde
Je sais que le sujet à sûrement déjà été traité plusieurs fois, mais je ne trouve rien de bien concluant.
Ma question est simple:
Comment je peux comparer la valeur d'un textarea avec ma base de données?
J'explique:
J'ai un formulaire dans lequel j'ai un textarea dans lequel je tape le nom d'un médecin. Et je voudrais récupérer ce nom, pour le comparer avec la base de données, en ne prenant en compte ni les accents, ni la casse qui a pu être utilisé lors de l'inscritption.
En gros, si je tape Michaël dans mon textarea, je voudrai le comparé avec ma base, voir si il est dedans, en confondant toutes les nuances possibles d'ortographe, comme mickael, mickaël, Mickael, MiCkAEl... etc..

Le truc, c'est que je ne touche pas assez en php/SQL pour savoir vraiment comment faire ça, et je ne trouve pas grand chose sur le net, donc je viens vers vous en espérant avoir un semblant d'aide.


D'avance merci =)

Re: Comparaison textarea et base de données

Posté : 18 avr. 2014, 15:28
par moogli
salut,

il y a plusieurs possibilités :
  • Basée sur le "like" SQL
    • En respectant la casse : like '%ce qui vient du formulaire%"
    • sans respect de la casse : lower(leChamp) like '% ce qui vient du formulaire mis en minuscule%'
  • Les soundex http://sqlpro.developpez.com/cours/soundex/
au choix, ceci en fonction des possibilités du SGBD que tu utilise.

il est aussi possible d'avoir un modèle de données permettant de faciliter la recherche, par exemple avec une table qui contient ce prénom sous la forme la plus simple (mickael, mais qui ne donnera pas mikael) et de faire une jointure entre les différentes possibilité du prénom et le prénom réelle.
c'est certainement pas la plus simple à gérer (il faut, a la création d'une nouvelle ligne indiquer à la main les différentes variantes qui seront prise en compte).


@+

Re: Comparaison textarea et base de données

Posté : 18 avr. 2014, 15:39
par Jexus11
Je vais voir ça.
Merci beaucoup :mrgreen: