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 :

Trouver le nom de la ville contenue dans une adresse


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Femme Profil pro
    ingénieur informatique
    Inscrit en
    Juin 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ingénieur informatique

    Informations forums :
    Inscription : Juin 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut Trouver le nom de la ville contenue dans une adresse
    Bonjour,
    je me suis bloquée et je vous adresse mon problème pour m'aider!
    Bon, j'ai une table dans ma base de données qui contient les champs suivants: id (l'identifiant), Depart (Nom de la ville), Tarif (tarif de la course)
    moi je voudrai afficher le tarif de la course demandée par le client sachant que le client peut entrer une adresse composée de plusieurs informations: rue, ville, pays...
    donc comment je peux faire le Select sur le champs ville qui est une partie de l'adresse (au contraire de ce qu'on fait avec Like %CHAINE%)
    EXP:
    le client a choisit comme adresse de depart: "Rue d'Aineffe, Faimes" et moi j'ai dans ma BD le tarif de la course qui a comme depart "Aineffe"
    j'ai pu trouvé la requette suivante mais elle n'est appliquées que sur les adresses qui commencent par le nom de la ville:
    $prix = "SELECT Tarif FROMTarif WHERE CONCAT(Depart, Substring('$adr_dep',LENGTH(Depart)+1))= '$adr_dep'";
    j'attends vos feedback.
    Merci

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    La réponse est dans la question

    Citation Envoyé par ing_souka Voir le message
    au contraire de ce qu'on fait avec Like %CHAINE%
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT Tarif 
    FROM Tarif 
    WHERE  '$adr_dep' LIKE '%' || Depart || '%'

  3. #3
    Futur Membre du Club
    Femme Profil pro
    ingénieur informatique
    Inscrit en
    Juin 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ingénieur informatique

    Informations forums :
    Inscription : Juin 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    j'ai essayé ça mais il m'a rien donné!! je travaille avec php et sql

  4. #4
    Membre averti
    Profil pro
    Administrateur
    Inscrit en
    Mai 2008
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 237
    Points : 433
    Points
    433
    Par défaut Réviser sa modélisation
    Il faut simplement ajouter un champ ville dans la table.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    ingénieur informatique
    Inscrit en
    Juin 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ingénieur informatique

    Informations forums :
    Inscription : Juin 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    voila l'erreur qu'il me renvoie: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE 'Rue d'Aineffe, Faimes, Belgique' LIKE '%' || Depart || '%'' at line 1

  6. #6
    Membre averti
    Profil pro
    Administrateur
    Inscrit en
    Mai 2008
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 237
    Points : 433
    Points
    433
    Par défaut
    Ta chaine : Rue d'Aineffe !!!!!

    Une solution appropriée sera de proposer à l'utilisateur de choisir sa ville dans un menu déroulant et donc de stocker le nom de la ville dans un champ séparé.

  7. #7
    Futur Membre du Club
    Femme Profil pro
    ingénieur informatique
    Inscrit en
    Juin 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ingénieur informatique

    Informations forums :
    Inscription : Juin 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    je l'ai déjà sous le nom Depart

  8. #8
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    l'apostrophe dans "Rue d'Aineffe" ferme la chaine...
    D'où votre erreur de syntaxe

    Doublez là : "Rue d''Aineffe" (deux guillemets simple et non un double !)

  9. #9
    Futur Membre du Club
    Femme Profil pro
    ingénieur informatique
    Inscrit en
    Juin 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ingénieur informatique

    Informations forums :
    Inscription : Juin 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    j'ai du mal a savoir concaténer le joker % avec le champ Depart de la BD

  10. #10
    Futur Membre du Club
    Femme Profil pro
    ingénieur informatique
    Inscrit en
    Juin 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ingénieur informatique

    Informations forums :
    Inscription : Juin 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    mais le problème c'est que l'adresse provient d'autocompletion de google maps

  11. #11
    Membre averti
    Profil pro
    Administrateur
    Inscrit en
    Mai 2008
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 237
    Points : 433
    Points
    433
    Par défaut
    Citation Envoyé par ing_souka Voir le message
    je l'ai déjà sous le nom Depart
    Dans ce cas pourquoi ne pas ajouter un champ ville dans la table tarif. Quitte à remplir ce champ automatiquement en extrayant le nom de la ville via une commande UPDATE.

  12. #12
    Membre averti
    Profil pro
    Administrateur
    Inscrit en
    Mai 2008
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 237
    Points : 433
    Points
    433
    Par défaut
    Pour mieux vous aider. Pourriez-vous afficher toute votre requête ? La description de vos deux tables ? Et quelques ligne de données ?

  13. #13
    Futur Membre du Club
    Femme Profil pro
    ingénieur informatique
    Inscrit en
    Juin 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ingénieur informatique

    Informations forums :
    Inscription : Juin 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    je veux que mon programme permet d'afficher le tarif (enregistreé dans la base de données selon la ville de départ) en choisissant une adresse qui est complétée par une fonction d'autocompletion de google maps, il faut extraire la ville de cette adresse pour savoir le tarif mais pas de remplir le champs ville de la BD

  14. #14
    Futur Membre du Club
    Femme Profil pro
    ingénieur informatique
    Inscrit en
    Juin 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ingénieur informatique

    Informations forums :
    Inscription : Juin 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    voila la requette:
    $prix =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Tarif FROM Tarif    WHERE  '$adr_dep' LIKE '%'||Depart||'%';
    ou Depart c'est un attribut de la table Tarif qui contient les villes de départ
    $adr_dep:contient l'adresse choisit par le client
    exemple:
    le client choisit comme point de depart: Rue d'Aineffe, Faimes, Belgique
    comment je peux afficher le tarif sachant que la ligne de la ville Ainefee:
    id:27, Depart: Aineffe, Tarif: x euro

  15. #15
    Membre averti
    Profil pro
    Administrateur
    Inscrit en
    Mai 2008
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 237
    Points : 433
    Points
    433
    Par défaut
    Comment Google vous retourne cette adresse ? donnez 1 ou deux exemples.

  16. #16
    Futur Membre du Club
    Femme Profil pro
    ingénieur informatique
    Inscrit en
    Juin 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ingénieur informatique

    Informations forums :
    Inscription : Juin 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    le client peut choisir:
    Rue d'Aineffe, Faimes, Belgique ou
    Aineffe, Belgique ou
    Rue d'Aineffe, Villers-le-Bouillet, Belgique
    mais c'est pour le meme tarif parcequ'elles ont la meme ville qui est le seul critère pour moi pour avoir le prix

  17. #17
    Membre averti
    Profil pro
    Administrateur
    Inscrit en
    Mai 2008
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 237
    Points : 433
    Points
    433
    Par défaut
    Citation Envoyé par ing_souka Voir le message
    le client peut choisir:
    Rue d'Aineffe, Faimes, Belgique ou
    Aineffe, Belgique ou
    Rue d'Aineffe, Villers-le-Bouillet, Belgique
    mais c'est pour le meme tarif parcequ'elles ont la meme ville qui est le seul critère pour moi pour avoir le prix
    Remplacer les espaces blancs dans adr_dep puis chercher Depart dans adr_dep.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    		$adr_dep = addslashes( str_replace(' ', '%', $adr_dep) );
    		$sql = "SELECT Tarif FROM Tarif WHERE Depart LIKE '%$adr_dep%'";
    Traiter suffisamment adr_dep

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    		$adr_dep = addslashes( str_replace( array(' ', ',', ';', '\'', '’'),  '%', strtolower($adr_dep) ) );
    		$sql = "SELECT Tarif FROM Tarif WHERE LOWER(Depart) LIKE '%$adr_dep%'";

  18. #18
    Futur Membre du Club
    Femme Profil pro
    ingénieur informatique
    Inscrit en
    Juin 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ingénieur informatique

    Informations forums :
    Inscription : Juin 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par manzeki Voir le message
    Remplacer les espaces blancs dans adr_dep puis chercher Depart dans adr_dep.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    		$adr_dep = addslashes( str_replace(' ', '%', $adr_dep) );
    		$sql = "SELECT Tarif FROM Tarif WHERE Depart LIKE '%$adr_dep%'";
    pour moi je veux faire "SELECT Tarif_AT FROM trif_km WHERE '$adr_dep' LIKE '%' ||Depart|| '%' " parceque l'adresse contient la ville.
    je sens que je commence a approcher de la solution en ajoutant la ligne qui remlace les apostrophes simple dans l'adresse. mais il me renvoie pas le bon tarif

  19. #19
    Membre averti
    Profil pro
    Administrateur
    Inscrit en
    Mai 2008
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 237
    Points : 433
    Points
    433
    Par défaut
    Citation Envoyé par ing_souka Voir le message
    pour moi je veux faire "SELECT Tarif_AT FROM trif_km WHERE '$adr_dep' LIKE '%' ||Depart|| '%' " parceque l'adresse contient la ville.
    je sens que je commence a approcher de la solution en ajoutant la ligne qui remlace les apostrophes simple dans l'adresse. mais il me renvoie pas le bon tarif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Tarif_AT FROM trif_km WHERE  '$adr_dep' LIKE CONCAT('%', Depart, '%')

  20. #20
    Futur Membre du Club
    Femme Profil pro
    ingénieur informatique
    Inscrit en
    Juin 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ingénieur informatique

    Informations forums :
    Inscription : Juin 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Merci Beaucoup pour votre aide mon problème est résolu grâce à vous.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Accéder à une adresse contenu dans une adresse
    Par Qooort dans le forum x86 32-bits / 64-bits
    Réponses: 4
    Dernier message: 22/06/2013, 00h33
  2. Réponses: 4
    Dernier message: 26/07/2007, 21h56
  3. passer une chaine contenu dans une variable en nom de variable
    Par spiro13 dans le forum Général Python
    Réponses: 5
    Dernier message: 25/04/2007, 12h14
  4. Exploiter le nom d'une classe contenu dans une variable
    Par 84mickael dans le forum Langage
    Réponses: 2
    Dernier message: 15/06/2006, 14h23
  5. Réponses: 7
    Dernier message: 25/10/2005, 15h19

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