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 :

Récupération de données via une liste déroulante


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 22
    Points : 23
    Points
    23
    Par défaut [Résolu]Récupération de données via une liste déroulante
    Bonjour, bonjour.
    Donc je souhaiterais récuperer les données que l'utilisateur a choisis via une liste déroulante dans une autre page 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
    <?php 
    mysql_connect("localhost", "chenry","***");
    mysql_select_db("petition");
     
    $sql = "SELECT idpetition,sujet,categorie FROM creation GROUP BY idpetition";
    $result = mysql_query($sql) or die("Erreur SQL");
     
    echo "<form action='choixpetition.php' method='POST'>
    <table><tr><td colspan=3><h2>Choisir votre pétition</h2>
    <br>
    <select name='choixpetition' style='width:150%' >";
    while ($row=mysql_fetch_array($result))
    {
    echo"<option>$row[idpetition] -  $row[sujet]  -  $row[categorie]</option>";
    }
    echo"</select></td></tr>
    </table>
    <br>
    <input type='submit' name='button1' id='button1' value='Détails'>
    </form>";
    ?>
    Le problème c'est que dans ma page choixpetition.php, j'arrive pas a récupérer les variables une à une, c'est à dire $row[idpetition] - $row[sujet] - $row[categorie].

    J'avais éssayé ça mais sans succès:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $idpetition=$_POST['idpetition'];
    echo "$idpetition";
    ?>
    Si quelqu'un pouvais m'éclairer, merci d'avance

    PS: désolé si je me trompe de section, je savais pas trop où mettre ça.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Je verrais plus un truc de ce genre là :
    $row['idpetition'] - $row['sujet'] - $row['categorie']
    Je ne sais pas si c'est vraiment ça, mais c'est le premier truc qui m'a attiré.

  3. #3
    Membre actif

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 191
    Points : 275
    Points
    275
    Par défaut
    la syntaxe de <select> est comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <select name="name" >
    <option value="value">Text</option>
    ...
    </select>
    sans compter que pour le html on n'utilise pas la simple quote pour les attributs des balises.

    voici un bon code pour ton formulaire
    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
    <?php 
    mysql_connect("localhost", "chenry","***");
    mysql_select_db("petition");
     
    $sql = "SELECT idpetition,sujet,categorie FROM creation GROUP BY idpetition";
    $result = mysql_query($sql) or die("Erreur SQL");
     
    $ouput  = '<form action="choixpetition.php" method="POST">';
    $ouput .= '<h2>Choisir votre pétition</h2>';
    $ouput .= '<select name="choixpetition" style="width:150%">';
    while ($row=mysql_fetch_array($result))
    {
        $ouput .= '<option value="'.$row['idpetition'].'">'.$row['idpetition'].'-'.$row['sujet'].'-'.$row['categorie'].'</option>';
    }
    $ouput .= '</select>';
    $ouput .= '<br/>';
    $ouput .= '<input type="submit" name="button1" id="button1" value="Détails">';
    $ouput .= '</form>';
    echo $ouput;
    ?>
    j'ai enlevé la balise <table> elle ne servait à rien et c'est à éviter pour de la mise en forme.
    ensuite la valeur retournée sera $_POST['choixpetition'] et contiendra la valeur (value de option) $row['idpetition'] sélectionnée
    j'ai pas testé le code.

    il ne te restera plus qu'a faire une requete avec idpetition pour avoir les valeur si nécessaire

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 22
    Points : 23
    Points
    23
    Par défaut
    Ok merci beaucoup pour votre aide.
    Par contre, je sais pas trop comment m'y prendre pour la requête SQL

    $idpetition=$_POST['choixpetition'];
    $sql = "SELECT Nom,Prenom,Sujet,Categorie FROM creation WHERE $idpetition=idpetition";
    $result = mysql_query($sql) or die("Erreur SQL");
    $sujet=$row['Sujet'];
    echo $sujet;
    (J'ai fais echo $sujet pour tester si ca marchait) et ça fonctionne pas, je sais pas trop comment faire pour récuperer les résultats d'une req SQL.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Points : 158
    Points
    158
    Par défaut
    si tu as qu'un seul enregistrement en resultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $idpetition=$_POST['choixpetition'];
    $sql = "SELECT Nom,Prenom,Sujet,Categorie FROM creation WHERE $idpetition=idpetition";
    $result = mysql_query($sql) or die("Erreur SQL");
    $row = mysql_fetch_row($result);
    $sujet=$row['Sujet'];
    echo $sujet;

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 22
    Points : 23
    Points
    23
    Par défaut
    Merci de ta réponse, mais la requête renvois plusieurs résultats étant donné que je select Nom,Prenom,Sujet,Categorie dans la requête SQL.
    Je sais pas si c'est bon :
    WHERE $idpetition=idpetition"; : dans la requête SQL
    avec $idpetition=$_POST['choixpetition'] : plus haut;

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Points : 158
    Points
    158
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $idpetition=$_POST['choixpetition'];
    $sql = "SELECT Nom,Prenom,Sujet,Categorie FROM creation WHERE $idpetition=idpetition";
    $result = mysql_query($sql) or die("Erreur SQL");
    $i = 0;
    while ($row = mysql_fetch_array($result))
    {
    $tab_sujet[$i]['Nom'] = $row['Nom'];
    $tab_sujet[$i]['Prenom'] = $row['Prenom'];
    $tab_sujet[$i]['sujet'] = $row['Sujet'];
    $i++;
    }
     
    var_dump($tab_sujet);

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 22
    Points : 23
    Points
    23
    Par défaut
    Merci ca marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php 
    mysql_connect("localhost", "chenry", "***");
    mysql_select_db("petition");
    $idpetition=$_POST['choixpetition'];
    $result = mysql_query("SELECT Nom,Prenom,Sujet,Categorie,Titre FROM creation WHERE idpetition=$idpetition");
    while ($donnees=mysql_fetch_array($result)) {
    echo $donnees['Nom'];
    }
    ?>

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

Discussions similaires

  1. Récupération des données d'une liste déroulante
    Par DoubleZeroCed dans le forum Langage
    Réponses: 4
    Dernier message: 11/01/2011, 19h22
  2. [MySQL] récupération de données dans une liste déroulante
    Par maleck dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/03/2010, 07h13
  3. Récupération de données avec une liste déroulante
    Par zorbo dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 16/01/2009, 09h08
  4. Réponses: 2
    Dernier message: 09/10/2008, 10h07
  5. récupération des données via une liste déroulante
    Par rahan_dave dans le forum Access
    Réponses: 1
    Dernier message: 13/10/2005, 13h27

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