Récupérer résultats checkbox

Bonjour,
je ne comprend pas j'ai fait un formulaire avec des checkbox à cocher mais lorsque j'en coche plusieurs et je réutilise le résultat il n'en prend qu'une voilà mes scripts si qqun peut m'aider :
   1. while ($liste=mysql_fetch_array($resultat))
   2. {
   3. print '<input type="checkbox" value="'.$liste['idMAT'].'" name="idMAT">'.$liste['idMAT'].'</checkbox>';
   4. print '<br />';
   5. }
   6. print "<br /><br />
   7. <input type='submit' value='Enregistrer le nouvel utilisateur'></form>";
   8.  
   9. ?>


   1. $idUSER = $_POST['idUSER'];
   2. $idMAT = $_POST['idMAT'];
   3.
   4. mysql_query("INSERT INTO droit VALUES('$idUSER','$idMAT')" );
   5. echo "<BR /><BR />
Configuration: Windows XP
Firefox 2.0.0.12

2 réponses

  1. bonjour,

    C'est normal car tous tes checkbox ont le même nom, au lieu de:
    <input type="checkbox" value="'.$liste['idMAT'].'" name="idMAT">'.$liste['idMAT'].'</checkbox>';
    met :
    <input type="checkbox" value="'.$liste['idMAT'].'" name="idMAT[]">'.$liste['idMAT'].'</checkbox>';

    ensuit tu parcour le tableau $_POST[idmat], dans ce tableau tu aura toutes les valeurs des checbox sélectionné
    1. merci goboss mais quand j'affiche ma variable ça me met array je récupère mal les valeurs du tableau surment avant j'avais écrit :
      $idMAT = $_POST['idMAT'];
      pour récupérer
      est-ce qu'il faut que je change qqchose ?
      1. oui c normal que sa te mette array car la variable $_POST['idMAT'] et un tableau contenant la valeur (ce qu'il y à dans l'attribut value) de tes checkbox. pour les récupérer tu fait:
        foreach($_POST['idMAT'] as $idMAT){
        //Tu fait ton traitement pour une checkbox
        }