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 :

Probleme Checkbox sur un _POST


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 149
    Par défaut Probleme Checkbox sur un _POST
    Bonjour,

    J'ai un script qui me permet de cocher des informations des informations issues d'une base de donnees et de les poster pour les afficher apres.

    Je suis rendu compte que lorsque je coche tout ça marche mais lorsque je coche que quelques éléments ça affiche plus les references et stock. Plz aidez moi

    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
    <form action="valide.php" method="post" >
    <?php
    $req = mysql_query("SELECT * FROM products_options Order by products_options_name "); 
    while( $result = mysql_fetch_array($req))
    {
    ?>
    <table>
    <tr>
    <td><input type=checkbox name="id[]" id="id" value=<?php echo $result['products_options_id'];?>></td>
    <td><input type="text" name="prix[]" id="prix"  value=<?php echo $result['prix'];?>></td>
    <td><input type="text" name="stock[]" id="stock"  value=<?php echo $result['stock'];?>></td>
    <td><input type="text" name="reference[]" id="reference" value=<?php echo $result['reference'];?> ></td>
    </tr>
    <?php
    }
    ?>
    </table>
    <input value="Ajouter ces Options" type="submit" name="submit"> </form>


    Apres j'ai l'autre page

    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
     
    $prix=$_POST['prix'];
    $stock=$_POST['stock'];
    $reference=$_POST['reference'];
    $id=$_POST['id'];
    $total=count($id);
     
    echo"
    <table width=250 border=0 align=center cellspacing=1 bgcolor=black>
      <tr bgcolor=#CCCCCC>
        <td  width=150>Reference</td>
    	<td width=50>Stock</td> 
        <td width=50>Prix</td> 
      </tr>
      ";
    //
    for($i=0;$i<$total;$i++){
    echo "
      <tr bgcolor=white>
        <td>$reference[$i]</td>
    	<td>$stock[$i]</td> 
        <td>$prix[$i]</td>
      </tr>
      ";
    }

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Les cases à cocher ne renvoit une valeur que lorsqu'elles sont cochées donc ton indexation de $_POST['id'] ne correspond pas à celle de $_POST['reference'].
    Il faut donc utiliser un index fixe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input type="text" name="prix[<?php echo $result['products_options_id'];?>]" id="prix"  value="<?php echo $result['prix'];?>" /></td>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if (isset($_POST['id'])) {
    foreach ($_POST['id'] as $id) {
    echo "
      <tr bgcolor=white>
        <td>$reference[$id]</td>
    	<td>$stock[$id]</td> 
        <td>$prix[$id]</td>
      </tr>
      ";
    }
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 149
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Les cases à cocher ne renvoit une valeur que lorsqu'elles sont cochées donc ton indexation de $_POST['id'] ne correspond pas à celle de $_POST['reference'].
    Il faut donc utiliser un index fixe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input type="text" name="prix[<?php echo $result['products_options_id'];?>]" id="prix"  value="<?php echo $result['prix'];?>" /></td>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if (isset($_POST['id'])) {
    foreach ($_POST['id'] as $id) {
    echo "
      <tr bgcolor=white>
        <td>$reference[$id]</td>
    	<td>$stock[$id]</td> 
        <td>$prix[$id]</td>
      </tr>
      ";
    }
    }

    j'ai l'erreur

    Notice: Undefined index: 18 in C:\Users\Webmaster\workspace\back\admbtik\module_csv\05.php on line 11

    Notice: Undefined index: 18 in C:\Users\Webmaster\workspace\back\admbtik\module_csv\05.php on line 12

    Notice: Undefined index: 18 in C:\Users\Webmaster\workspace\back\admbtik\module_csv\05.php on line 13

    qui correspond à stock reference et prix

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 149
    Par défaut
    Autant pour moi ça marche nickel

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 149
    Par défaut
    big up mister sabotage

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

Discussions similaires

  1. [delphi6]probleme dbgrid sur un tpagecontrol
    Par macadam314 dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/04/2005, 15h54
  2. Probleme "onmouseout" sur IE seule
    Par softflowe dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 06/10/2004, 14h04
  3. Probleme install sur RedHat
    Par delph_b dans le forum Installation
    Réponses: 5
    Dernier message: 27/05/2004, 09h09
  4. Réponses: 3
    Dernier message: 17/05/2004, 17h28
  5. [VB.NET] Problème checkBox et datagrid
    Par jagdjg dans le forum ASP.NET
    Réponses: 5
    Dernier message: 23/04/2004, 08h53

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