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

PHP & Base de données Discussion :

code postale - ville


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut code postale - ville
    Bonjour à tous!
    Voilà, je voudrais, dans mon formulaire de saisie, afficher automatiquement le nom de la ville lorsqu'on choisit le code postale.
    le CP et la Ville se trouvent dans une même table d'une base MySQL.
    Voilà mon code:

    <?php require_once('connexion.php');
    $query=mysql_query("SELECT CP_Ville FROM ville ORDER BY CP_Ville");
    ?>
    <form name="f1" method="post" action="Ajout_client.php">
    <select name="CP" onchange="this.form.submit()">
    <?while ($ligne1=mysql_fetch_object($query)){
    echo('<option>'.$ligne1->CP_Ville.'</option>'); }
    ?>
    </select>
    </form>

    .....

    <?
    $query=mysql_query("SELECT CP_Ville,Nom_Ville FROM ville WHERE CP_Ville = ".$CP);
    $nb=mysql_num_rows($query);
    $ligne = mysql_fetch_object($query);
    $ville = $ligne->Nom_Ville;
    if ($nb!=0){
    echo $ville;
    }
    ?>

    J'arrive bien à avoir le nom de la ville avec ce code mais seulement voilà, tous les champs de mon formulaire sont réinitialisés après la sélection du code postale.
    Est-ce qu'il y aurait un moyen de garder les autres valeurs après la validation du code postale.

    Je vous remercie de votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    lol cette question est posée tous les jours
    Ce qu'il faut c'est remplir l'attribut "selected" de tes balises <option> si l'identifiant de cette option correspond à celui selectionné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php require_once('connexion.php');
    $query=mysql_query("SELECT CP_Ville FROM ville ORDER BY CP_Ville");
    ?>
    <form name="f1" method="post" action="Ajout_client.php">
    <select name="CP" onchange="this.form.submit()">
    <?while ($ligne1=mysql_fetch_object($query)){
    echo '<option value="'.$ligne1->CP_Ville.'" ';
     
    if($ligne1->CP_Ville == $_POST['CP'])
      echo 'selected="selected"' ;
     
    echo '>'.$ligne1->CP_Ville.'</option>' ; 
    }
    ?>
    </select>
    </form>

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je suis peut être un peu bête mais je ne comprends pas ce que tu ve dire Sylvain. je remplis l'attribut selected avec koi?

  4. #4
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par debut_php
    Je suis peut être un peu bête mais je ne comprends pas ce que tu ve dire Sylvain. je remplis l'attribut selected avec koi?
    Bah avec "selected" comme le montre son code...
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par JWhite
    Bah avec "selected" comme le montre son code...
    Ah oui, je m'excuse, j'ai pas bien regardé.

    Mais il y a une autre problème,
    Dans mon formulaire, il n'y a pas que ces champs CP et ville, y a d'autres champs de saisie : NOM, Prénom, .....
    Et lorsque je clique sur le code postale, c'est comme si je valide le formulaire, et tous les autres champs sont réinitialisés (deviennent vide)

  6. #6
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    Alors il faut comprendre le code que j'ai fait et pourquoi je l'ai fais et refaire pareil avec tous tes autres champs.

  7. #7
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Quand tu charges ta page tu regardes si les champs existent déjà avec des isset($_POST['nom_du_champ']), auquel cas tu initialises tes champs de formulaires.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Ca y est, c'est résolu, merci beaucoup les gà, vous êtes gentils

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    ca me parait plus clair écrit comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    echo '<option value="'.$ligne1->CP_Ville.'" '.( $ligne1->CP_Ville == $_POST'CP'] ? 'selected="selected"' : ' ').'>'.$ligne1->CP_Ville.'</option>' ; 
     
    // utilisez les macro pour ca !
    Si vous avez un message d'erreur, n'oubliez pas de le lire, la réponse à votre problème est surement dedans !

Discussions similaires

  1. correspondance code postal ville
    Par hichcasa dans le forum Excel
    Réponses: 2
    Dernier message: 15/05/2009, 17h03
  2. code postal + ville
    Par debutantasp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/10/2008, 14h59
  3. [AJAX] code postal ville
    Par guillaume2vo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/06/2008, 09h28
  4. code postal + ville
    Par debutantasp dans le forum ASP
    Réponses: 8
    Dernier message: 18/01/2008, 18h22
  5. [Formulaire] relation code Postal/ville
    Par Frenchguy dans le forum IHM
    Réponses: 12
    Dernier message: 15/11/2006, 15h37

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