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

  • Votes
  • Date
  • Date décroissante
  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
      }
  2. 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é