IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

Recherche dans table MYSQL


Sujet :

SQL Procédural MySQL

  1. #1
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut Recherche dans table MYSQL
    Bonjour, voila j'ai fait une base de données des codes postaux français, avec le nom de ville correspondant et le numéro INSEE. Mais mes nom de ville composés sont du style machin-truc, et j'ai fait un champ de recherche, et je voudrai que si l'utilisateur rentre machin truc cela marche quand même pour la recherche.
    Et je ne voit pas comment faire au niveau ce la requête pour cela.
    Merci pour votre aide.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 957
    Points : 4 386
    Points
    4 386
    Par défaut
    Citation Envoyé par cerede2000
    Bonjour, voila j'ai fait une base de données des codes postaux français, avec le nom de ville correspondant et le numéro INSEE. Mais mes nom de ville composés sont du style machin-truc, et j'ai fait un champ de recherche, et je voudrai que si l'utilisateur rentre machin truc cela marche quand même pour la recherche.
    Et je ne voit pas comment faire au niveau ce la requête pour cela.
    Merci pour votre aide.
    utiliser LIKE et le %% dans la clause WHERE du SELECT…

  3. #3
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Oui, mais cela sélectionnera toute ligne contenant au moins le truc recherche.
    Y a pas un moyen plus fin?

    Edit: En plus je vient d'essayer avec ceci, j'ai une ville qui s'apelle "Louvignies Quesnoy" dans ma base elle est ecrite "Louvignies-Quesnoy" et si je fait une recherche LIKE "%Louvignies Quesnoy%", cela ne donne rien

  4. #4
    Membre expérimenté
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Points : 1 351
    Points
    1 351
    Par défaut
    Bonjour,

    Si le problème ne porte que sur les traits d'union, il est possible de faire un REPLACE() pour éventuellement changer les '-' en espace(' '). S

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 957
    Points : 4 386
    Points
    4 386
    Par défaut
    Citation Envoyé par cerede2000
    Oui, mais cela sélectionnera toute ligne contenant au moins le truc recherche.
    Y a pas un moyen plus fin?

    Edit: En plus je vient d'essayer avec ceci, j'ai une ville qui s'apelle "Louvignies Quesnoy" dans ma base elle est ecrite "Louvignies-Quesnoy" et si je fait une recherche LIKE "%Louvignies Quesnoy%", cela ne donne rien
    LIKE "%Louvignies%Quesnoy%"

    -> remplacer tous les signes de ponctuation et les blancs par % …

    des fonctions du genre metaphone, fuzzystringmatch, soundex, levensthein, … vous seraient utiles…

    il existe un "mysqllevenshtein" mais pour l'installer vous dever avoir accès à la machine (donc pas un serveur partagé, mais par exemple un serveur dédié…, )

    elles existent aussi en PHP mais cela impliquerait de faire la recherche côté client…

    ce genre de fonction permet d'implémenter une tolérance aux fautes d'orthographe de l'utilisateur…

  6. #6
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Hum la fonction replace a mon avis suffit.
    Edit: Quoi que SOUNDEX est une fonction super!!
    Merci beaucoup!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche dans table MySQL dans une fonction js
    Par dodo91 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/05/2009, 11h00
  2. Recherche dans table paradox
    Par petitcoucou31 dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/11/2006, 23h16
  3. comment formater un champs dans table mysql
    Par rollly dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 24/04/2006, 14h31
  4. recherche dans table maitre detail
    Par pierrot67 dans le forum Bases de données
    Réponses: 3
    Dernier message: 27/03/2006, 13h00
  5. suppréssion élément dans table Mysql
    Par miram dans le forum Administration
    Réponses: 4
    Dernier message: 10/02/2006, 10h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo