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

Langage PHP Discussion :

Récupération des vaveurs d'un select multiple


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    android
    Inscrit en
    Mai 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : android
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 29
    Points : 98
    Points
    98
    Par défaut Récupération des vaveurs d'un select multiple
    salut à tous,
    j'ai un souci sur un formulaire générer dynamiquement je ne récupère pas les bonnes valeurs de mon <select> dans le tableau de mon devis.
    dans le 1er formulaire:
    j'ai autant de ligne que que ce qu'y est dans ma table produit
    avec dans chaque un checkbox, le nom du produit, son prix et le choix de la quantité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
     
    $id=$_GET['idPersonne'];
    $sql="SELECT * FROM registre_client WHERE client_id='$id'";
    $req = mysql_query($sql)or die(mysql_error());
    $data = mysql_fetch_assoc($req);
    echo '<section><h2>Devis client pour '.$data['client_nom'].' '.$data['client_prenom'].'</h2>';
    $sql = "SELECT * FROM produit";
    $req = mysql_query($sql)or die(mysql_error());
    echo '<form method="POST" action="f2.php?idPersonne='.$data['client_id'].'">
    <center><table id="devis">
    <thead>
    <tr>
    <th colspan=5>
    <select name="choix">
        <option value="FACTURE">FACTURE</option>
        <option value="DEVIS">DEVIS</option>
    </select>
    </th>
    </tr></thead>
    <tbody>
    <tr><td></td><td> Ref </td><td> Description </td><td> Prix en euros </td><td> Quantitée </td></tr>';
    while($data = mysql_fetch_assoc($req))
    { 
    echo '<tr><td><input type="checkbox" name="idProduit[]" value="'.$data['id_produit'].'">
    <td>'.$data['id_produit'].'</td><td>'.$data['nom_produit'].'</td><td>'.$data['prix_produit'].'</td>
    <td><select name="quantite[]">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
    </select></td></tr></tbody>';
    }
    echo '<thead><tr><th colspan=5><a href="f2.php?idPersonne='.$data['client_id'].'=generer"><input type="submit" value="Générer le devis "></a></form>
    </th></tr></thead></table></center></br></section></br>';
    dans le 2eme formulaire
    le tableau s'incrémente bien sauf ma colonne quantité qui me met la même valeur pour tous, soit 1,2,3 ou 4
    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
    echo '<table border=1>
    <tr><th> Ref </th><th width=200> Dénomination </th><th width=100> Prix unitaire </th><th width=100> Quantitée </th><th width=100> Prix </th></tr>';
    if(isset($_POST['idProduit']))
    {
        foreach ($_POST['idProduit'] as $clef=>$idProduit)
    {
      // REQUÊTE SQL de récupération des informations du produit<br>
      $sql = "SELECT * FROM produit WHERE id_produit = '$idProduit'";
      $req = mysql_query($sql) or die (mysql_error());
      $recup = mysql_fetch_assoc($req);
      // affichage d'une ligne
    $quantite=$_POST['quantite'];
    echo'<tr><td>'.$idProduit.'</td><td>'.$recup['nom_produit'].'</td><td>'.$recup['prix_produit'].'</td><td>'.$quantite.'</td>';
    }
    }
    est ce que je pourrais avoir votre avis sur ce sujet?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $quantite=$_POST['quantite'];
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $quantite=$_POST['quantite'][$clef];

  3. #3
    Membre régulier
    Homme Profil pro
    android
    Inscrit en
    Mai 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : android
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 29
    Points : 98
    Points
    98
    Par défaut
    Merci à toi car à résolu mon problème.
    peux tu m'expliquer pourquoi le fait de rajouter la variable $clef l'a résolu?
    merci encore et après ta réponse je le met en résolu

  4. #4
    Invité
    Invité(e)
    Par défaut
    Dans ton formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="checkbox" name="idProduit[]" ......>
    <select name="quantite[]">......
    $_POST['idProduit'] et $_POST['quantite'] sont donc des array(), dont les index sont générés automatiquement (du fait des ...[] ).

    Pour une ligne donnée, tu auras le même index pour les 2 array.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       foreach ($_POST['idProduit'] as $clef=>$idProduit)
    On se sert ensuite du même index ($clef) pour l'autre array.
    D'où le $_POST['quantite'][$clef].

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

Discussions similaires

  1. récupération des données d'un select multiple
    Par pghm77 dans le forum Langage
    Réponses: 6
    Dernier message: 13/01/2009, 15h19
  2. Problème de récupération de valeur d'un select multiple
    Par poissonsoluble dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 30/11/2006, 09h37
  3. [EJBQL] [EJB3] [Junit] Récupération des résultats d'un select
    Par nramariavelo dans le forum Java EE
    Réponses: 1
    Dernier message: 04/10/2006, 16h22
  4. [SQL] Problème de récupération des valeurs d'une liste multiple en php
    Par BOLARD dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/05/2006, 00h29
  5. Réponses: 2
    Dernier message: 20/01/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