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

Requêtes MySQL Discussion :

Requête variable en fonction des champs disponibles


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 9
    Points : 9
    Points
    9
    Par défaut Requête variable en fonction des champs disponibles
    Bonjour,

    Désolé pour le titre je ne voyais pas quoi mettre d'autre.
    J'utilise une table nommé GPSCoord.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE IF NOT EXISTS `GPScoord` (
      `Commune` varchar(100) NOT NULL default '',
      `Codepos` varchar(10) NOT NULL default '',
      `Latitude` float default '0',
      `Longitude` float default '0',
      PRIMARY KEY  (`Commune`,`Codepos`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    L'utilisateur saisit sa ville et son code postal dans un formulaire.
    Je souhaiterais construire une requête qui me permettrait de recuperer les Latitudes et Longitudes à partir des deux champs si ils ont été renseignés ou de l'un d'entre eux si ils ne sont pas tous les deux renseignés. Est ce possible en SQL?
    Merci d'avance.

    Guillaume

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Si un seul des champs est renseigné, c'est mission impossible. En effet, il y a, en France, 6500 codes postaux pour 36700 communes (environ), et d'autre part, beaucoup de noms de communes ne sont pas uniques.
    Donc, si seul le cp est renseigné, cela risque de correspondre à x communes, et si seul le nom est renseigné, cela risque de correspondre à x codes postaux.

    Si les 2 champs sont renseignés :
    1. aucune faute de frappe ou d'ortographe ;
    2. si le nom de la commune est un nom composé, par exemple Trifouillis-les-oies, l'utilisateur à saisi le nom complet ;

    ça peut éventuellement fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT latitude, longitude
    FROM GPScoord
    WHERE codepos = $cp
    AND commune = $commune
    sans une fiabilité garantie à 100 %.

    J'ai eu à faire ce genre de chose, il y a quelques années, et le seul moyen fiable que j'avais trouvé était le suivant : l'utilisateur saisit le code postal, à la suite de quoi une liste déroulante contenant toutes les communes correspondantes est crée dynamiquement. Il n'a plus qu'à sélectionner sa commune.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    Merci de la réponse.
    Pour ce qui est de l'orthographe, les noms stockés dans la base sont en majuscules sans accent. Je transforme donc la saisie utilisateur afin qu'il y est le moins de problème possible au niveau de l'orthographe du nom de commune.
    Je n'avais pas penser du tout à la methode de saisie du code postal puis du choix de la ville ds une liste déroulante. Ca devrais pas être trop compliqué à mettre en oeuvre, un petit coup d'Ajax et ça devrais le faire.

    Guillaume

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/06/2012, 11h59
  2. Requête INSERT INTO avec des champs et des variables
    Par fips1962 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 26/05/2009, 17h51
  3. Réponses: 1
    Dernier message: 22/08/2007, 00h05
  4. Réponses: 1
    Dernier message: 01/11/2005, 12h04
  5. Réponses: 4
    Dernier message: 13/09/2005, 11h50

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