mysql recherche les lettres d'un mot

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


chava2b
WRInaute impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Ven Déc 05, 2003 16:44

mysql recherche les lettres d'un mot

Message le Ven Avr 27, 2007 15:37

Salut,

J'essaye de faire une recherche dans mysql et je n'ai pas trop d'idées... si qqun peut m'aider, je suis à l'ecoute :)

j'ai un champ(prenom) avec une liste de prenom ou je vais faire la recherche.
si je n'ai pas de resultat, je veux essayer de trouver les prenoms qui contiennent les lettres de ma recherche.

si je recherche les lettres 'jean'

pour le moment je fais
Code: Tout sélectionner
... where prenom like '%j%' and prenom like '%e%' and prenom like '%a%' and prenom like '%n%' and length(prenom)=4


1- avec des regex ca serait pas plus simple
2- comment avoir que les resultats ne contenant pas d'autres lettres que celle que je recherche


merci


Tilt
WRInaute passionné
WRInaute passionné
 
Messages: 818
Inscription: Sam Mar 26, 2005 11:48

Message le Ven Avr 27, 2007 15:51

where prenom rlike "^[jean]{4}$"

?


finstreet
WRInaute accro
WRInaute accro
 
Messages: 10468
Inscription: Dim Juil 10, 2005 12:39

Message le Ven Avr 27, 2007 17:34

t'as testé MATCH AGAINST ?


chava2b
WRInaute impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Ven Déc 05, 2003 16:44

Message le Dim Avr 29, 2007 10:28

Tilt, tres bien ton regex, mais il me donne les resultats meme s'il n'y a pas toutes les lettres; pour 'jean' et me donne 'anna' par ex.;

Si je ne trouve pas directement le prenom, je veux essayer de voir s'il n'y a pas 2 lettres interverties, 'jaen' par ex. et recuperer 'jean'

finstreet, en quoi faire une recherche full text (MATCH AGAINST) m'aiderai ?

merci


serval2a
WRInaute accro
WRInaute accro
 
Messages: 3453
Inscription: Lun Mar 21, 2005 18:17

Message le Dim Avr 29, 2007 11:23

Salut chava2b,
Je ne crois pas qu'il existe un possibilité plus simple que celle que tu utilises déjà.
Toutefois quand tu dis "comment avoir que les resultats ne contenant pas d'autres lettres que celle que je recherche" qu'entends-tu par là, il te sort quoi comme prénom ?


finstreet
WRInaute accro
WRInaute accro
 
Messages: 10468
Inscription: Dim Juil 10, 2005 12:39

Message le Dim Avr 29, 2007 15:15

chava2b a écrit:Tilt, tres bien ton regex, mais il me donne les resultats meme s'il n'y a pas toutes les lettres; pour 'jean' et me donne 'anna' par ex.;

Si je ne trouve pas directement le prenom, je veux essayer de voir s'il n'y a pas 2 lettres interverties, 'jaen' par ex. et recuperer 'jean'

finstreet, en quoi faire une recherche full text (MATCH AGAINST) m'aiderai ?

merci


A rien, j'avais lu ton post en diagonale :)


Tilt
WRInaute passionné
WRInaute passionné
 
Messages: 818
Inscription: Sam Mar 26, 2005 11:48

Message le Dim Avr 29, 2007 15:41

chava2b a écrit:Tilt, tres bien ton regex, mais il me donne les resultats meme s'il n'y a pas toutes les lettres; pour 'jean' et me donne 'anna' par ex.;

Si je ne trouve pas directement le prenom, je veux essayer de voir s'il n'y a pas 2 lettres interverties, 'jaen' par ex. et recuperer 'jean'

finstreet, en quoi faire une recherche full text (MATCH AGAINST) m'aiderai ?

merci


je crois que ce serait plus de la boulette en php avec levenshtein() (appliqué aux résultats de la requête) :
http://php.net/levenshtein


chava2b
WRInaute impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Ven Déc 05, 2003 16:44

Message le Dim Avr 29, 2007 23:19

Tilt, j'ai regardé cette fonction mais je pense que je m'en servirai apres, si j'ai plusieurs resultats. Pour le moment, je ne vais pas faire un levenshtein pour chaque enregistrement de ma table. (si je recherche 'jean' ca ne me sert pas de faire un levenshtein avec 'pierre'); il faudrait que j'épure avant mes resultats.

(j'épure avec ton rlike mais j'ai l'impression que je peux avoir le resultat directement, non ?)


serval2a, je veux avoir l'enregistrement ou il y a seulement les lettres que je cherche. Dans mon exemple, je veux dire à mysql :
-> donne moi les enregistrements ou il n'y a que la lettre 'J', la lettre 'E', la lettre 'A', et la lettre 'N', et pas d'autres lettres.
(ca me sert a rien d'avoir les resultats où il y a un 'T' par ex. si je cherche un prenom ou il n'y a pas de 'T')


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Bombing

  • Analyse du positionnement
    AgentWebRanking est un logiciel professionnel qui permet d'analyser le positionnement d'un ou plusieurs sites dans plus de 300 moteurs de recherche dans le monde. Vous pouvez ainsi analyser les performances du référencement pour de nombreux mots-clés.
  • Transformer des simples citations de votre site en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
  • Indice de densité
    Cet outil vous permet de calculer l'indice de densité d'un mot-clé d'une page web. Il est calculé à la fois pour la balise TITLE, la balise META description et l'ensemble du texte de la page.
  • Générateur de mots-clés
    Cet outil vous fournit une liste de mots sémantiquement proches du mot que vous fournissez en entrée. Il peut servir à vous donner des idées de mots à utiliser sur vos pages, voire de contenus à ajouter.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités