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 :

Liste déroulante : onchange="submit();" [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 44
    Points : 34
    Points
    34
    Par défaut Liste déroulante : onchange="submit();"
    Bonjour.
    J'ai 2 listes : une fois la première sélectionnée, donne un résultat dans ma seconde.
    Le problème est que ma 1ere liste d'affiche, mais une fois sélectionnée, celui ci s'efface.
    J'ai bien le résultat correspondant dans la second.
    Pourriez vous m'indiquer le chemin de la solution ! merci.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <?php
    //récupération des clubs, lieux et sites de plongées ou enregisztrements 
    $host = 'http://a.b.free.fr/'; 
    $user = 'a.b'; 
    $pass = '**********';		
    $connection = mysql_connect($host, $user, $pass)  or die('Erreur de connexion '.mysql_error());
    mysql_select_db('masa.plongee',$connection)  or die('Erreur de selection '.mysql_error()); 
    $sql_club = "SELECT `club`  FROM `club_site_lieu` " ;
    $requete_club = mysql_query($sql_club) or die('Erreur SQL !<br>'.$sql_club.'<br>'.mysql_error()); 
     
    echo'  <p><strong>Club ou centre de plongées accueillant</strong> ';
     
    echo '<select name="club" size="1" onchange="submit();">';
     
    while ($data=mysql_fetch_array($requete_club))
    {
    //if champs vide (empty)
    echo '<option>'.$data['club'].'</option>';
    }
    echo'<option selected="selected"></option>';
    echo '</select>' ;
    mysql_close();
     
    ?>
     
    <?php
     
    $host = 'http://a.b.free.fr/'; 
    $user = 'a.b'; 
    $pass = '********';		
    $connection = mysql_connect($host, $user, $pass)  or die('Erreur de connexion '.mysql_error());
    mysql_select_db('masa.plongee',$connection)  or die('Erreur de selection '.mysql_error()); 
    $sql_site = "SELECT `site`, `club`, `lieu` FROM `club_site_lieu` WHERE `club` = '".$club."'";
    $requete_site = mysql_query($sql_site) or die('Erreur SQL !<br>'.$sql_site.'<br>'.mysql_error()); 
     
    echo' <p><strong>Site de plong&eacute;es</strong>' ;
     
    echo '    <select name="site" size="1" >' ;
     
    while ($data=mysql_fetch_array($requete_site))
    {
    echo '<option>'.$data['site'].' - '.$data['lieu'].'</option>';
    }
     
    echo '</select>' ;
    mysql_close();
     
    ?>

  2. #2
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Tu peux expliquer un peu plus s'il te plait car je n'ai pas bien compris ton problème!!ok

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 44
    Points : 34
    Points
    34
    Par défaut
    Bonjour.

    Dans la liste "club", s'affiche le choix.
    Une fois ce choix sélectionné, une nouvelle liste "site" s'affiche.

    Le problème est que la sélection de "club" disparaît une fois la requete effectuée !

    Est-ce grave ? que dois-je corriger ? Merci

  4. #4
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Essai ce code, j'espère que ça marche.
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    <?php
     if (!(isset($_POST['club'])) and !(isset($_POST['site'])))
        {
    //récupération des clubs, lieux et sites de plongées ou enregisztrements 
    $host = 'http://a.b.free.fr/'; 
    $user = 'a.b'; 
    $pass = '**********';		
    $connection = mysql_connect($host, $user, $pass)  or die('Erreur de connexion '.mysql_error());
    mysql_select_db('masa.plongee',$connection)  or die('Erreur de selection '.mysql_error()); 
    $sql_club = "SELECT `club`  FROM `club_site_lieu` " ;
    $requete_club = mysql_query($sql_club) or die('Erreur SQL !<br>'.$sql_club.'<br>'.mysql_error()); 
     
    echo'  <p><strong>Club ou centre de plongées accueillant</strong> ';
     
    echo '<select name="club" size="1" onchange="submit();">';
     
    while ($data=mysql_fetch_array($requete_club))
    {
    //if champs vide (empty)
    echo '<option>'.$data['club'].'</option>';
    }
    echo'<option selected="selected"></option>';
    echo '</select>' ;
    mysql_close();
     
           }
     
     else {
     
    $host = 'http://a.b.free.fr/'; 
    $user = 'a.b'; 
    $pass = '********';
     
    $connection = mysql_connect($host, $user, $pass)  or die('Erreur de connexion '.mysql_error());
    mysql_select_db('masa.plongee',$connection)  or die('Erreur de selection '.mysql_error()); 
    $sql_club = "SELECT `club`  FROM `club_site_lieu` " ;
    $requete_club = mysql_query($sql_club) or die('Erreur SQL !<br>'.$sql_club.'<br>'.mysql_error()); 
     
    echo'  <p><strong>Club ou centre de plongées accueillant</strong> ';
     
    echo '<select name="club" size="1" onchange="submit();">';
     
    while ($data=mysql_fetch_array($requete_club))
    {
    //if champs vide (empty)
    echo '<option>'.$data['club'].'</option>';
    }
    echo'<option selected="selected"></option>';
    echo '</select>' ;
     
    $sql_site = "SELECT `site`, `club`, `lieu` FROM `club_site_lieu` WHERE `club` = '".$club."'";
    $requete_site = mysql_query($sql_site) or die('Erreur SQL !<br>'.$sql_site.'<br>'.mysql_error()); 
     
    echo' <p><strong>Site de plong&eacute;es</strong>' ;
     
    echo '    <select name="site" size="1" >' ;
     
    while ($data=mysql_fetch_array($requete_site))
    {
    echo '<option>'.$data['site'].' - '.$data['lieu'].'</option>';
    }
     
    echo '</select>' ;
    mysql_close();
        }
    ?>

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 44
    Points : 34
    Points
    34
    Par défaut
    Bonjour à toi.

    La solution que tu me présentes me donne le même résultat, sauf que la liste 'site' n'apparait pas à l'initialisation de la page.

  6. #6
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Bonjour, J'espère que cette fois ça va marcher!!!
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    <?php
    //récupération des clubs, lieux et sites de plongées ou enregisztrements 
    $host = 'http://a.b.free.fr/'; 
    $user = 'a.b'; 
    $pass = '**********';		
    $connection = mysql_connect($host, $user, $pass)  or die('Erreur de connexion '.mysql_error());
    mysql_select_db('masa.plongee',$connection)  or die('Erreur de selection '.mysql_error()); 
    $sql_club = "SELECT `club`  FROM `club_site_lieu` " ;
    $requete_club = mysql_query($sql_club) or die('Erreur SQL !<br>'.$sql_club.'<br>'.mysql_error()); 
     
    echo'  <p><strong>Club ou centre de plongées accueillant</strong> ';
     echo "<form method=\"post\">";
    echo '<select name="club" size="1" onchange="submit();">';
     
    while ($data=mysql_fetch_array($requete_club))
    {
    //if champs vide (empty)
    echo '<option>'.$data['club'].'</option>';
    }
    echo'<option selected="selected"></option>';
    echo '</select>' ;
     
    if (isset($_POST['club'])) 
             {
    $club=$_POST['club'];		
     
    $sql_site = "SELECT `site`, `club`, `lieu` FROM `club_site_lieu` WHERE `club` = '".$club."'";
    $requete_site = mysql_query($sql_site) or die('Erreur SQL !<br>'.$sql_site.'<br>'.mysql_error()); 
     
    echo' <p><strong>Site de plong&eacute;es</strong>' ;
     
    echo '    <select name="site" size="1" >' ;
     
    while ($data=mysql_fetch_array($requete_site))
    {
    echo '<option>'.$data['site'].' - '.$data['lieu'].'</option>';
    }
     
    echo '</select>' ;
    mysql_close();
        }
    echo '</form>';
    ?>
    Bon courage.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 44
    Points : 34
    Points
    34
    Par défaut
    Bonjour.

    C'est pareil... même résultat !

    Dans mon code, la vérification des différents champs (entres autres les champs 'club' et 'site'), se fait à la valildation du formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <form method="post" action="feuille_air_dp_verif.php">
    On m'aurait orienté vers le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     echo'<option selected="selected"></option>';
    .

    Je ne sais pas laquelle, et comment agencer une de ces lilgnes pour récupérer la valeur de 'club' !

  8. #8
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Bonjour, je ne savais pas que tu voulais envoyer tes donnée à une autre page.Bon j'espère qu'avec ce script ça marchera.
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    <?php
    //récupération des clubs, lieux et sites de plongées ou enregisztrements 
    $host = 'http://a.b.free.fr/'; 
    $user = 'a.b'; 
    $pass = '**********';		
    $connection = mysql_connect($host, $user, $pass)  or die('Erreur de connexion '.mysql_error());
    mysql_select_db('masa.plongee',$connection)  or die('Erreur de selection '.mysql_error()); 
    $sql_club = "SELECT `club`  FROM `club_site_lieu` " ;
    $requete_club = mysql_query($sql_club) or die('Erreur SQL !<br>'.$sql_club.'<br>'.mysql_error()); 
     
    echo'  <p><strong>Club ou centre de plongées accueillant</strong> ';
     echo "<form method=\"post\" id=\"club\">";
    echo '<select name="club" size="1" onchange="document.getElementById('club').submit();">';
     
    while ($data=mysql_fetch_array($requete_club))
    {
    //if champs vide (empty)
    echo '<option>'.$data['club'].'</option>';
    }
    echo'<option selected="selected"></option>';
    echo '</select>' ;
     echo '</form>';
    if (isset($_POST['club'])) 
             {
    echo '<form method="post" action="feuille_air_dp_verif.php" id="site">';
    $club=$_POST['club'];		
     
    $sql_site = "SELECT `site`, `club`, `lieu` FROM `club_site_lieu` WHERE `club` = '".$club."'";
    $requete_site = mysql_query($sql_site) or die('Erreur SQL !<br>'.$sql_site.'<br>'.mysql_error()); 
     
    echo' <p><strong>Site de plong&eacute;es</strong>' ;
     
    echo '    <select name="site" size="1"  onchange="document.getElementById('site').submit();">' ;
     
    while ($data=mysql_fetch_array($requete_site))
    {
    echo '<option>'.$data['site'].' - '.$data['lieu'].'</option>';
    }
     
    echo '</select>' ;
    mysql_close();
    echo '</form>';
     
        }
    ?>

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 44
    Points : 34
    Points
    34
    Par défaut
    Bonyour.

    Merci pour ton coup de main

    Mais je n'ai pas d'action suite au choix dans la liste 'club' !

    Et la liste 'site' n'est pas visible à l'initialisation du formulaire !

    Décor : ces 2 listes se trouvent dans un grand formulaire, mais ne dirigent pas vers une autre page. C'est une fois tous les champs replis (feuille_air_dp_verif.php) ,et y compris ces 2 listes, que les données sont enregistrées dans une table.

    Je te joints la page complète et un pdf

    Merci encore
    Images attachées Images attachées
    Fichiers attachés Fichiers attachés

  10. #10
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Bonjour, j'espère que ça va macher. En tout cas ça a marché chez moi. Bonne chance.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 44
    Points : 34
    Points
    34
    Par défaut
    Merci bien super merci super

    J'ai épuré un peu et ça fonctionne aussi... mais lors de la sélection de 'club', et une fois la requète 'site' effectuée, le choix de 'club' est inscrit 2 fois dans la liste ?

    Je sens qu'on est pas loin !

    encore merci.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    <?php
     
    $club=$_POST['club'];
    //récupération des clubs, lieux et sites de plongées ou enregisztrements 
    $host = 'http://a.b.free.fr/'; 
    $user = 'a.b'; 
    $pass = '*******';		
    $connection = mysql_connect($host,$user,$pass)  or die('Erreur de connexion '.mysql_error());
    mysql_select_db('masa.plongee',$connection)  or die('Erreur de selection '.mysql_error()); 
    $sql_club = "SELECT `club`  FROM `club_site_lieu` " ;
    $requete_club = mysql_query($sql_club) or die('Erreur SQL !<br>'.$sql_club.'<br>'.mysql_error()); 
     
    echo'  <p><strong>Club ou centre de plongées accueillant</strong> ';
     
    echo '<select name="club" size="1" id="club" onchange="submit();">';
     
    while ($data=mysql_fetch_array($requete_club))
    {
    //if champs vide (empty)
    echo '<option>'.$data['club'].'</option>';
    }
    echo'<option selected="selected">'.$club.'</option>';
    echo '</select>' ;
    mysql_close();
     
    ?>
     
    <?php
    $host = 'http://a.b.free.fr/'; 
    $user = 'a.b'; 
    $pass = '*******';
    $connection = mysql_connect($host,$user,$pass)  or die('Erreur de connexion '.mysql_error());
    mysql_select_db('masa.plongee',$connection)  or die('Erreur de selection '.mysql_error()); 
    $sql_site = "SELECT `site`, `club`, `lieu` FROM `club_site_lieu` WHERE `club` = '".$club."'";
    $requete_site = mysql_query($sql_site) or die('Erreur SQL !<br>'.$sql_site.'<br>'.mysql_error()); 
     
    echo' <p><strong>Site de plong&eacute;es</strong>' ;
     
    echo '    <select name="site" size="1" id="site">' ;
     
    while ($data=mysql_fetch_array($requete_site))
    {
    echo '<option>'.$data['site'].' - '.$data['lieu'].'</option>';
    }
    echo '</select>' ;
    mysql_close();
     
    ?>

  12. #12
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Bonjour,
    J'ai oublié de supprimer quelques trucs .Mais j'ai corrigé le code. Et Il vaut mieux que tu copies tout ok. Et si ça ne fonctionne pas tu me fais signe. Allé ciao

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 44
    Points : 34
    Points
    34
    Par défaut
    Merci beaucoup.

    Ce que tu m'as fourni, a fait progresser et la solution a été trouvé :

    Voiçi si dessous le code ...

    et Merci encore...

    Certainement à une prochaine, le site en construction n'en est pas à son extrémité !
    Je pense aussi qu'un site n'est jamais terminer... il y a toujours quelque chose à améliorer !

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <?php
     
    $club=$_POST['club'];
    //récupération des clubs, lieux et sites de plongées ou enregisztrements 
    $host = 'http://a.b.fr/'; 
    $user = 'a.b'; 
    $pass = '********';		
    $connection = mysql_connect($host,$user,$pass)  or die('Erreur de connexion '.mysql_error());
    mysql_select_db('masa.plongee',$connection)  or die('Erreur de selection '.mysql_error()); 
    $sql_club = "SELECT DISTINCT `club` FROM `club_site_lieu` WHERE club !='".$club."'" ;
    $requete_club = mysql_query($sql_club) or die('Erreur SQL !<br>'.$sql_club.'<br>'.mysql_error()); 
     
    echo'  <p><strong>Club ou centre de plongées accueillant</strong> ';
     
    echo '<select name="club" size="1" id="club" onchange="submit();">';
     
    while ($data=mysql_fetch_array($requete_club))
    {
     
    //if champs vide (empty)
    echo '<option>'.$data['club'].'</option>';
    }
    echo'<option selected="selected">'.$club.'</option>';
    echo '</select>' ;
    mysql_close();
     
    ?>
     
    <?php
    $host = 'http://a.b.free.fr/'; 
    $user = 'a.b'; 
    $pass = '********';		
    $connection = mysql_connect($host,$user,$pass)  or die('Erreur de connexion '.mysql_error());
    mysql_select_db('masa.plongee',$connection)  or die('Erreur de selection '.mysql_error()); 
    $sql_site = "SELECT `site`, `club`, `lieu` FROM `club_site_lieu` WHERE `club` = '".$club."'";
    $requete_site = mysql_query($sql_site) or die('Erreur SQL !<br>'.$sql_site.'<br>'.mysql_error()); 
     
    echo' <p><strong>Site de plong&eacute;es</strong>' ;
     
    echo '    <select name="site" size="1" id="site">' ;
     
    while ($data=mysql_fetch_array($requete_site))
    {
    echo '<option>'.$data['site'].' - '.$data['lieu'].'</option>';
    }
    echo '</select>' ;
    mysql_close();
     
    ?>

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

Discussions similaires

  1. Liste déroulante sans bouton submit
    Par alain83 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 20/11/2008, 08h50
  2. Liste déroulante sans bouton Submit.
    Par RougeCerise dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 11/09/2008, 10h50

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