CheckBox dans tableau

Bonjour, alors j'ai un tableau composé de 4 colonnes dont la dernière est une checkbox.

Sauf que la mon problème c'est que je dois mettre une checkbox dans un tableau pour pouvoir la cocher et la décocher n'importe quand rapidement. Sauf que je n'arrive pas à faire en sorte que si la checkbox est coché, qu'elle reste cochée..

Voici mon code :
<tr>
				<th>Code client</th>
				<th>Nom de domaine</th>
				<th>Boite mail</th>
				<th>MailInBlack</th>
			</tr>
			<?php 
			foreach ($resu as $res){
			?>
				<tr class="trlist">
					<td style="width:200px; text-align:left; padding-left:6%"><?php echo $res['codeClient']?></td>
					<td style="width:250px; text-align:left; padding-left:5%"><?php echo $res['nomDomaine']?></td>
					<td style="width:250px; text-align:left; padding-left:4%"><?php echo $res['boiteMail']?></a></td>
					<td style="width:100px; text-align:left; padding-left:4%"><input style="width: 50%; height: 1.7em;" type="checkbox" name="Mailinblack" value="oui" id="Mailinblack" <?php if($service["Mailinblack"] == "oui"){ ?>checked<?php } ?>></td>
				</tr>				
									
			<?php
			}
			?>

10 réponses

  1. Contributeur Ambassadeur
    bonjour,
    d'où vient
    $service["Mailinblack"]
    ?
    0
    1. Mon $service vient d'ici :
      if(isset($_GET["id"])){
      		$stmt = $pdo->prepare('SELECT * FROM mailinblack WHERE id = :id');
      		$stmt->bindValue(':id', (int)$_GET['id'], PDO::PARAM_INT);
      		$stmt->execute();
      	
      		$service = $stmt->fetch();
      		$stmt->closeCursor();
      	}
      	?>
      0
      1. Contributeur Ambassadeur
        quel est le type et le contenu du champ Mailinblack dans la table mailinblack?
        0
        1. Après, même si il faut appuyé sur un bouton après avoir coché pour enregistrer les éléments cochés, ce n'est pas un problème.
          0
          1. Contributeur Ambassadeur
            un booléen ne serait-il pas préférable?
            0
            1. techniquement ce serait possible aussi mais sur ce site j'ai réalisé le premier comme ça alors j'ai continué ainsi
              0
              1. Voilà, l'autre doublon est fermé :)
                0
                1. Contributeur Ambassadeur
                  où est le code qui modifie le champ Mailinblack dans la table mailinblack?
                  0
                  1. J'avais fais quelque chose comme ça :
                    (ceci est ma page modifierProspectionReq.php)
                    <?php
                    include("pdo.php");
                    
                    	$stmt = $pdo->prepare('SELECT * FROM mailinblack WHERE id = :id');
                    	$stmt->bindValue(':id', $_POST["id"], PDO::PARAM_INT);
                    	$stmt->execute();
                    	$poste = $stmt->fetch();
                    
                    	$stmt = $pdo->prepare("UPDATE mailinblack SET mailinblack = :mailinblack WHERE id = :id");
                    		   $stmt->bindValue(':mailinblack', $_POST["mailinblack"], PDO::PARAM_STR);
                    		   $stmt->execute();
                    		   
                    		   $stmt->closeCursor();
                    
                    		header("Location:prospectionMIB.php");
                    		exit();
                    
                    
                    ?>


                    Mais quand je modifier dans des "modifierProspection.php" par exemple, avec ce code j'arrivais à modifier tout ce qu'il me fallait car j'avais tout mis dans un <from action="modifierProspectionReq.php"> sauf que actuellement, dans ce tableau, même quand je met le from ça ne fonctionne pas, donc je pense que je le met au mauvaise endroit ou alors qu'il faudrait que je fasse ça autrement
                    0
                  2. @yg_beMon tableau est correct, le seul problème c'est que je n'arrive pas à garder cocher ma checkbox que ce soit dans mon tableau où dans ma bdd
                    0
                  3. @nemir:/
                    0
                  4. Contributeur Ambassadeur
                    @nemiras-tu adapté ton code?
                    0
                2. Modérateur
                  Bonjour,

                  Déjà, comme te l'a suggéré Yg_be, commence par appliquer ceci à ton code :
                  https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

                  Ensuite, il y a un petit souci au niveau de tes checkBoxes .. enfin.. si tu veux pouvoir t'en servir pour enregistrer dans ta bdd...
                  Au niveau de l'attribut NAME il faudrait utiliser la syntaxe "tableau"
                  et dans son "value", y mettre l' ID de la ligne correspondante....
                  name="Mailinblack[]" value="$id"
                  


                  De cette façon, tu récupèreras, lors du SUBMIT de ton formulaire, un ARRAY contenant toutes les cases cochées...
                  (il te suffit de faire un var_dump de ta variable $_POST pour voir ce qu'elle retourne lorsque tu submit... )

                  Une fois que ça sera fait, si tes soucis persistent, il faudra que tu nous montres ton codes COMPLET ainsi que le résultat de ton var_dump.

                  0