Bonjour
-------------------------
Voici un début de réponse:
Citation :
$obChk = new XoopsFormCheckBox("test case à cocher", "chkTest",array(55,54), '<br />');
$obChk->addOption(55, 'Jean');
$obChk->addOption(12, 'Paul');
$obChk->addOption(54, 'Raoul');
$obChk->addOption(14, 'Marie');
$form->addElement($obChk, false);
le 1er paramètre est le libellé principal
Le 2eme paramètre est un nom pour les checkbox
le 3eme paramètre est une valeur ou un tableau de valeurs correspondant aux valeurs qui seront cochées (55 et 54 dans l'exemple)
Le 4eme paramètre est un séparateur qui sera affiché, par exemple '<br /> permettra d'avoir les cases en colonnes au lieu de les avoir en ligne.
Ensuite il faut ajouter toutes les checkbox avec la fonction "
addoptions" ou "
addOptionArray" (tableau associatif)
addOptions prend comme paramètres :
- la valeur (qui si elle est dans le tableau passe en paramètre permettra de cocher ou non la case).
- et le libellé affiché
ou
addOptionArray: qui prend comme paramètre un tabeau associatif, exemple
Citation : $obChk->addOptionArray(array(55 => 'Jean',
12 => 'Paul',
54 => 'Raoul',
14 => 'Marie'));
Le résultat récupéré dans la variable $_POST['chkTest'] est le tableau des valeur cochées.
Par exemple si "paul" et "raoul" sont cochés, le retour est le tableau array(12,54);
Pour ajouter une case qui coche tout, je ne sais pas encore, mais dans l’idée se serait de balayer tous les objets dont le nom est 'chkTest[]'
Je regarde si je trouve un exemple.
JJDAI