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 :

Menu déroulant alimenté par requete SQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club Avatar de perlgirl
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 123
    Points : 62
    Points
    62
    Par défaut Menu déroulant alimenté par requete SQL
    Bonjour,

    J'ai donc un formulaire avec notamment un menu déroulant qui contient des données contenus dans ma base de données MySQL.
    Voilà le code qui me permet de le faire:
    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
     
    //Declaration des parametres de connexion a la base de donnees 
    $host = 'localhost';
    $user = 'admin';
    $bdd = 'mabd';
     
    //Connexion a la base de donnees Gorlin
    $db = mysql_connect($host, $user, '') or die ("erreur de connexion au serveur");
    mysql_select_db($bdd,$db) or die ("erreur de connexion a la base de donnees");
     
    //requete qui recupere les noms des revues 
    $query_journal = "select nom from revue order by nom";
     
    //execution de la requete $query_journal
    $exe_journal = mysql_query($query_journal);
    ?>
     
    <html>
    <head>
    <title></title>
    </head>
     
    <body>
     
    <form method="POST" action="affichage.php" enctype="multipart/form-data">
     
    <table align=center border=1 bgcolor='#AFCDFF'>
     
    <!--JOURNAL-->
    <TR>
    <TD>
    <strong><font color='#00379C' size=3,5>Journal: &nbsp;&nbsp;</font></strong>
    </TD>
    <TD>
    <select name='journal'>
    <option value="#" selected></option>
     
    <?php
    //boucle qui permet de lister les valeurs de la requete et de les afficher dans le menu deroulant
    while ($select = mysql_fetch_array($exe_journal)) {
    	echo '<option value = '.$select['id_user'].'>'.$select['nom'].'</option>';
     
    }
    ?>
    </select>
    </TD>
    </TR>
    </table>
     
    <table align=center>
    <TR>
    <TD>
    <input type="submit" value="submit">&nbsp;&nbsp;<input type="reset" value="reset">
    </TD>
    </TR>
    </table>
     
    </form>
    </body>
    </html>
     
    <?php
    mysql_close();
    mysql_free_result;
    ?>
    Quand je veux recuperer les informations selectionnées dans le menu deroulant dans le programme affichage.php rien ne s'affiche pourtant les noms des journaux contenu dans la base de données s'affiche bien dans le menu déroulant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $journal = $_POST['journal'];
    print $journal;
    Je ne comprends pas où est mon erreur, merci de votre aide.

    Perlgirl
    Perlgirl

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 91
    Points : 71
    Points
    71
    Par défaut
    Regarde la source de ta page.
    Verifie que tes <option value> ne sont pas vide, si c'est le cas ,

    Dans ton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query_journal = "select nom from revue order by nom";
    Tu devrais afficher egalement id_user, donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query_journal = "select id_user, nom from revue order by nom";

  3. #3
    Membre du Club Avatar de perlgirl
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 123
    Points : 62
    Points
    62
    Par défaut
    AH merci je ne pensais pas a regarder du coté du code source et ca m'a aidé a trouver mon erreur...
    Perlgirl

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Je vous relance sur le même probleme
    Hello, désolée, j'ai également ce problème de liste déroulante je m'explique :

    Voici Mon code, où je génère une liste déroulante alimentée par une base de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php 
     
    require ("Connexion.php");
     
    $SQL = "SELECT * FROM type_hebergement";
    $res = mysql_query($SQL);
     
    while($val=mysql_fetch_array($res)) 
    {
       echo "<option value=".$val['code_type_heb'].">".$val['lib_type_heb']."</option>\n";
    }
    ?>
    Voici le code du fichier de validation :

    <?php
    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
    // connexion à la base de données
    require ("Connexion.php");
     
    $nom_site=null;
    $Mdpasse_site=null;
    $mdp_stat_site=null;
    $structure_site=null;
    $indexation=null;
    $libelle_type_acces=null;
    $code_type_heb=null;
     
    if (isset($_POST['typeheb']))
    {
    $code_type_heb=addslashes($_POST['typeheb']); 
    }
    echo "<br />rep  : ".$code_type_heb;
    // requetes d'insertion des données dans les différentes tables
     
    $requete1="insert into Sites (code_site, nom_site, structure_site, date_demande, indexation, code_type_heb)
     values ('','$nom_site','$structure_site', '$date_demande', '$indexation', '$code_type_heb');";
     
    // Exécution de la requête
    mysql_query($requete1) or die ("Requête1 impossible".mysql_error());
    //accusé de reception de requete reussie 
     
     
    ?>
     
    </html>
    le echo du code_type_heb ne retourne rien

    Mon problème est que lorsque j'exécute la requête, le code_type_heb ne sajoute pas dans la table sites, la valeur qui s'inscrit est 0.
    Je tourne en rond un peu lol est-ce que quelqu'un peu m'aider s'il vous plait?

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 294
    Points : 333
    Points
    333
    Par défaut
    Il faudrait voir ton code html avec ta liste déroulante, si la variable ne renvoie rien cela vient surement de ton code html

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Ah oui désolée :


    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
     
    <html>
    <head>
    </head>
    </body>
     
    <table>
     
    <form name='details' method='post' action='validation.php'>
     
    <tr>
    	<td>Type d'h&eacute;bergement souhait&eacute; : </td><!-- a voir ? type CMS? -->
    	<td>
     
     
     <select name='typeheb' >
     
    <?php 
     
    require ("Connexion.php");
     
    $SQL = "SELECT * FROM type_hebergement";
    $res = mysql_query($SQL);
     
    while($val=mysql_fetch_array($res)) 
    {
       echo "<option value=".$val['code_type_heb'].">".$val['lib_type_heb']."</option>\n";
    }
    ?>
    </select>
    </td>
    </tr>
     
    </form>
    </table>
    </body>
    </html>

  7. #7
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 294
    Points : 333
    Points
    333
    Par défaut
    Comme sa je ne vois pas d'erreur, et tu sur que tes values de tes options sont bien renseigner? essai d'afficher code type heb dans la liste au lieu du libellé pour voir si ils s'affichent bien. A quelle moment le formulaire est-il soumis, je ne vois pas ton bouton submit.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Finalement il n'y avait aucune erreur, j'ai tout simplement redémarré Easy-php... Désolée lol A bientot j'ai encore plein d'autres questions, et Merci sutout !!!!!

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

Discussions similaires

  1. liste déroulante alimente par les champs d'une table sql
    Par gribouille343 dans le forum Langage
    Réponses: 6
    Dernier message: 04/01/2011, 16h44
  2. [AC-2007] Zone de liste alimenter par requete SQL
    Par Vyl.Coyot dans le forum IHM
    Réponses: 4
    Dernier message: 17/05/2010, 08h28
  3. [MySQL] Liste déroulante alimenter par requetes sql
    Par degseb dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 05/04/2010, 17h34
  4. Réponses: 3
    Dernier message: 12/05/2009, 14h22
  5. xmldataprovider alimenté par requete sql ?
    Par jacpapac dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 11/05/2009, 11h52

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