CheckBox dans tableau

Signaler
-
Messages postés
32962
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 juin 2021
-
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

Messages postés
16025
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
867
bonjour,
d'où vient
$service["Mailinblack"]
?
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();
	}
	?>
Messages postés
16025
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
867
quel est le type et le contenu du champ Mailinblack dans la table mailinblack?
c'est un varchar(10)
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.
Messages postés
16025
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
867
un booléen ne serait-il pas préférable?
techniquement ce serait possible aussi mais sur ce site j'ai réalisé le premier comme ça alors j'ai continué ainsi
Voilà, l'autre doublon est fermé :)
Messages postés
16025
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
867
où est le code qui modifie le champ Mailinblack dans la table mailinblack?
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
Messages postés
16025
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
867 > nemir
si tu penses que ton tableau n'est pas correct, examine le code source HTML de la page affichée.

je me demande si tu ne devrais pas commencer par suivre ces conseils:
https://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs
>
Messages postés
16025
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021

Mon 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
Messages postés
16025
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
867 > nemir
as-tu adapté ton code?
Messages postés
32962
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 juin 2021
3 558
Bonjour,

Déjà, comme te l'a suggéré Yg_be, commence par appliquer ceci à ton code :
https://www.commentcamarche.net/faq/46512-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.