[html/php] groupes de checkbox

Bonjour à tous !

J'ai fait une recherche sur le site, mais je n'ai rien trouvé concernant une page avec plusieurs groupes de checkbox.

Je m'explique, dans ma page, j'ai dix groupes de checkbox différents, et chacun comprend une dizaine de checkbox.

Comment je dois les nommer pour pouvoir recuperer dans une autre page les cases cochées pour chaque groupe ?

Merci pour votre aide, si vous avez des questions, n'hésitez pas.

7 réponses

  1. moi je fais comme ca :

    je nomme chaque checkbox comme ca : name="nom_du_groupe[]"

    et dans ton script php qui recupere le form, les tableaux de chaque groupe contienne juste les valeurs qui ont été cochées.
    par exemple
    <input type='checkbox' name='id[] value='1'>Numero 1
    <br>
    <input type='checkbox' name='id[]' value='2'>Numero 2
    <br>
    <input type='checkbox' name='id[]' value='3'>Numero 3
    <br>
    ... etc
    

    tu recuperera un tableau $_POST['id']
    tu peux faire autant de groupe que tu veux, on les nommant differement bien sur
    11
    1. voui, si tu nommes toutes les checkbox du groupe 1 groupe1[], celle du groupe 2 groupe2[], etc...
      tu auras donc un tableau $_POST['groupe1'], un autre $_POST['groupe2'],...
      qui ne contiendront que les 'value' des checkboxes cochées
      1
      1. J'ai un problème similaire, mais le problème est que comme ce formulaire est créé dynamiquement, je ne peux pas savoir à l'avance combien il y aura de tableau..
        Par exemple si le php donne une page avec 2 groupes groupe1[] et groupe2[], comment le prog php qui va recevoir ces tableaux saura qu'il y en a deux( ça je sais faire) mais surtout comment y accéder ?
        (je suppose qu'il faut passer par les variables dynamiques mais je n'arrive pas à trouver comment faire ?)
        0
      2. @alzorglubJ'ai trouvé :)
        Voici un exemple de formulaire créé dynamiquement :
        <input type='checkbox' name='v1[]' value='1'>Variable 1 Numero 1<br>
        <input type='checkbox' name='v1[]' value='2'>Variable 1 Numero 2<br>
        <input type='checkbox' name='v2[]' value='1'>Variable 2 Numero 1<br>
        <input type='checkbox' name='v2[]' value='2'>Variable 2 Numero 2<br>
        <input type='hidden' name='listev' value='v1,v2'>
        et le bout de code pour retrouver ses petits :
        $listevt=explode(',',$_POST["listev"]);
        for ($i=0;$i<count($listevt);$i++)
        { $resum[$i]=implode(',',$_POST[$listevt[$i]]); }
        Ainsi dans resum j'ai plusieurs chaine contenant les valeurs des choix cochés. $resum[0]="1,2" et $resum[1]="1,2" si on coche tout.
        Une fois qu'on sait, c'est tout con..
        0
    2. salut,

      alors j'avais eu un truc du genre à faire et plutot que d'envoyer toutes les checkbox dans le formulaire et de toutes les tester en php derriere, j'avais fait un petit javascript qui parcourait tout un formulaire à la recherche de checkbox cochées.
      Dans le principe, ca marche, apres au niveau compatibilité avec les navigateurs, propreté du code, tout ca, j'ai un peu la flemme de me replonger dedans.

      en esperant que cette piste te soit utile
      0
      1. Je crois que j'ai pas été très claire, ou alors j'ai pas compris la réponse ;-)

        Moi j'ai un truc du genre

        groupe1
        checkbox 1
        checkbox 2
        checkbox 3

        groupe2
        checkbox 1
        checkbox 2
        checkbox 3

        et moi je voudrais recuperer les valeurs cochées pour le groupe 1 séparément de celles du groupe 2.

        Est-ce que ta solution Timon1102 résoud ça ?

        Merci!!
        0
        1. Merci beaucoup Timon1102 !!

          Ca a l'air de marcher. Merci aussi à toi BreTzel!
          0
          1. merciiiiii
            je ramais et je suis tombé sur votre discussion, ca m'a sauvé la vie =)
            0
            1. C'est impeccable, mais comment y adapter un système qui permette de les sélectionner (ou déselectionner) toutes d'un coup :) ?
              subtil :)
              On ne peux dès lors plus utiliser de [] a la fin de la variable :S
              0