Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1798 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Enregistrement checkbox dans Array

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Enregistrement checkbox dans Array

n°2234121
sandym
Posté le 25-07-2014 à 22:32:13  profilanswer
 

Bonjour,
 
Je sais que cette question est souvent posée mais j'ai beau tester tout ce que je trouve sur les forums, je n'arrive pas à obtenir ce que je veux...
 
J'ai un tableau de disponibilité avec en ligne les périodes (matin, Apres-midi, nuit) et en colonnes les jours de la semaine. Pour simplifier, le code ci-dessous représente qu'une ligne et 3 colonnes.
 
Voici mon formulaire, inclus dans des balises CODE HTML pour pouvoir être stocké dans une variable.

Code :
  1. $sForm = <<<CODE_HTML
  2. <table>
  3.   <tr>
  4.     <td>Matin</td>
  5.     <td><input name="matin[]" value="1" type="checkbox" /></td>
  6.     <td><input name="matin[]" value="2" type="checkbox" /></td>
  7.     <td><input name="matin[]" value="3" type="checkbox" /></td>
  8.   </tr>
  9. </table>
  10. CODE_HTML;


 
En ce qui concerne le code PHP, j'arrive à obtenir un array avec les valeurs cochées mais ce que j'aimerai c'est que mon array contienne 0 si la case n'est pas coché et 1 si elle l'est. Je vous met quand meme mon code.

Code :
  1. for ($i=0; $i<3; $i++)
  2. {
  3.     if(!empty ($_POST['matin'][$i]))
  4.     {
  5.        $matin[$i]=1; //coché
  6.     }
  7.     else
  8.     {
  9.        $matin[$i]=0; //pas coché
  10.     }
  11. }


 
Par exemple, si Lundi et Mercredi sont cochés, j'aimerai que $matin[0]==1, $matin[1]==0 et $matin[2]==1 pour ensuite stocker $matin dans ma BDD.
 
J'espère que mes explications sont claires!

mood
Publicité
Posté le 25-07-2014 à 22:32:13  profilanswer
 

n°2234127
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 26-07-2014 à 09:44:49  profilanswer
 

Salut,
 
Un inout checkbox ne renvoie que les valeurs cochées, c'est un comportement du navigateur.
 
Si tu veux vraiment des 0/1, faut passer par un select à 2 options, ou des boutons radio (2 boutons pour chaque checbox initiale).


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°2234128
czh
Posté le 26-07-2014 à 10:29:10  profilanswer
 

Alors soit tu fais :
 

Code :
  1. $matin = array_fill(0, 3, 0); // http://php.net/manual/fr/function.array-fill.php
  2. foreach ($_POST['matin'] as $value) {
  3.   $matin[$value - 1]=1;
  4. }


 
Ou sinon :
 

Code :
  1. $sForm = <<<CODE_HTML
  2. <table>
  3.   <tr>
  4.     <td>Matin</td>
  5.     <td><input name="matin[0]" value="0" type="hidden" /><input name="matin[0]" value="1" type="checkbox" /></td>
  6.     <td><input name="matin[1]" value="0" type="hidden" /><input name="matin[1]" value="1" type="checkbox" /></td>
  7.     <td><input name="matin[2]" value="0" type="hidden" /><input name="matin[2]" value="1" type="checkbox" /></td>
  8.   </tr>
  9. </table>
  10. CODE_HTML;


Message édité par czh le 26-07-2014 à 10:31:03

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Enregistrement checkbox dans Array

 

Sujets relatifs
[Resolu][JS/HTML] Enregistrement login / pass navigateur avec pas[...]php lire clé multidimensionelle ( variable ) sur un array
CheckBox dans datatemplate WPFAfficher le nombre de résultat pour chaque enregistrement php
Enregistrement du choix d'image de fondcheckbox dont les case à cocher sont remplis par des champs d'une tabl
Boucle sur userform et checkboxSauvegarder choix checkbox
Macro d'enregistrement WordProblème enregistrement canvas avec photo en fond (security error)
Plus de sujets relatifs à : Enregistrement checkbox dans Array


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR