Bonjour, j'ai un petit soucis à propos de mes checkbox dans mon tableau.

Apres plusieurs recherches j'ai trouvé quelques solutions mais rien n'y fait.

Voici mon problème :

Je désire cocher une ou plusieurs checkbox de mon tableau afin d'ensuite cliquer sur un bouton 'envoyer les emails' qui lui se trouve dans un titre du tableau

mon code fonctionne bien si je boucle le bouton submit, mais ce n'est pas mon but, je pensais que c'etait un problème de form, j'ai tenté plusieurs choses, pas réussi.

Il compte bien si je coche une ou plusieurs cases mais envoie constamment la derniere donnée du tableau, il ne boucle pas!

ce qui complique la tache c'est que j'ai plusieurs submit dans mon tableau et a l'exterieur de ce tableau, certains doivent etre bouclé (comme la deconfirmation ou le bouton 'voir', d'autres non comme l'acceptation ou, ici, le checkbox)


Voici mon code :

Le tableau :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
	<form method="post" style="text-align: center" name="checkmail" id="checkmail" action="">
 
					<table border="0" width="100%" cellpadding="0" cellspacing="0" id="product-table">		 
 
 
 
					  <br /><br />
						<tr>
							<th class="table-header-repeat line-left" style="height: 90px"><a href=""></a></th>
							<th class="table-header-repeat line-left" style="height: 90px">
								<a href="">
								<input type="Submit" value="Envoyer les mails" name="btnmailrenvoie" />
								</a>
							</th>
							<th class="table-header-repeat line-left" style="height: 90px;">
							  <a href="">Id demande</a>
							</th>
							<th class="table-header-repeat line-left" style="height: 90px;">
							  <a href="">Id Institut/Ecole</a>
							</th>
							<th class="table-header-repeat line-left" style="height: 90px;">
							  <a href="">Nom Institut/Ecole</a>
							</th>
							<th class="table-header-repeat line-left" style="height: 90px;">
							  <a href="">Discipline service</a>
							</th>
							<th class="table-header-repeat line-left" style="height: 90px;">
							  <a href="">Cycle stage</a>
							</th>
							<th class="table-header-repeat line-left" style="height: 90px;">
							  <a href="">Date début de stage</a>
							</th>
							<th class="table-header-repeat line-left" style="height: 90px;">
							  <a href="">Date fin de stage</a>
							</th>
							<th class="table-header-repeat line-left" style="height: 90px"><a href="">Nombre d\'heures</a></th>
							<th class="table-header-repeat line-left" style="height: 90px;"><a href="">Nombre demandes concernées</a></th>
							<th class="table-header-repeat line-left" style="height: 90px;"><a href="">Nombre places accordées</a></th>
							<th class="table-header-repeat line-left" style="height: 90px"><a href="">Observations</a></th>
							<th class="table-header-repeat line-left" style="height: 90px"><a href="">Déconfirmer</a></th>
						</tr>';	
				<?php	
 
 
 
			$reqserv =('SELECT Id_demande, Id_ecole, Email_ecole, Nom_ecole, Id_service, Nom_service, Discipline_service, Cycle_stage_serv, Date_debut_stage_serv, 
				Date_fin_stage_serv, Nbre_heures_stage_serv, Demande_initiale_serv, Acceptation_serv, Confirm_serv, Memo_service, Memo_ecole, Nvelle_dde_serv, Envoie_mail_ok_serv,
				Envoie_mail_not_ok_serv, Check_ok_serv, Check_not_ok_serv FROM demande WHERE Email_service ="' . $emailserv . '" AND Confirm_serv="1" ORDER BY Id_ecole');
 
			$reqservfinale = $bdd->query($reqserv);
 
 
			// affichage des donnees dans le tableau
			while ($doncherch=$reqservfinale->fetch())
			{	
 
				$datedeb =  htmlspecialchars($doncherch['Date_debut_stage_serv']);
				$datedeb = explode('-',$datedeb);
 
				$datefin =  htmlspecialchars($doncherch['Date_fin_stage_serv']);
				$datefin = explode('-',$datefin);
 
					echo'<tr> 
						<td>
							<div align="center">
							<img src="'. htmlspecialchars($doncherch['Envoie_mail_ok_serv']) .'" 
							border="0" width="20" height="20" alt="" title="Email envoyé">	
							</div>
							<div align="center">
							<img src="'. htmlspecialchars($doncherch['Envoie_mail_not_ok_serv']) .'" 
							border="0" width="20" height="20" alt="" title="Email non envoyé">	
							</div>
						</td>
						<td>
							<div id="div_chck">
							<input type="checkbox" name="btnmail[]" id="btnmail[]" value="1" />
							</div>
							<input type="hidden" name="id_dde_tableau_mail" id="id_dde_tableau_mail" value="' . 
							htmlspecialchars($doncherch['Id_demande']) . '" >
							
						</td>
		</form>
		<form method="post" style="text-align: center" name="acceptation" id="acceptation" action="">
						<td>
						<input type="hidden" name="id_dde_tableau" id="id_dde_tableau" value="' . 
						htmlspecialchars($doncherch['Id_demande']) . '" >' . htmlspecialchars($doncherch['Id_demande']) . '
						</td>
						<td>
						<input type="hidden" name="id_ecole_tableau" id="id_ecole_tableau" value="' . 
						htmlspecialchars($doncherch['Id_ecole']) . '" >' . htmlspecialchars($doncherch['Id_ecole']) . '
						</td>
						<td>
						<input type="hidden" name="nom_ecole_tableau" id="nom_ecole_tableau" value="' . 
						htmlspecialchars($doncherch['Nom_ecole']) . '" >' . htmlspecialchars($doncherch['Nom_ecole']) . '
						</td>
						<td>' . htmlspecialchars($doncherch['Discipline_service']) . '</td>
						<td>' . htmlspecialchars($doncherch['Cycle_stage_serv']) . '</td>
						<td>' . $datedeb[2] . '/' . $datedeb[1] . '/' . $datedeb[0] . '</td>
						<td>' . $datefin[2] . '/' . $datefin[1] . '/' . $datefin[0] . '</td>
						<td>' . htmlspecialchars($doncherch['Nbre_heures_stage_serv']) . '</td>
						<td>' . htmlspecialchars($doncherch['Demande_initiale_serv']) . '</td>
						<td>
						<input type="text" size="2" name="acceptation" id="acceptation" 
						onChange="return verifrep(this.form)" > &nbsp;&nbsp;&nbsp;'
						. htmlspecialchars($doncherch['Acceptation_serv']) . '
						</td>			
		</form>
		<form method="post" style="text-align: center" name="memo" id="memo" action="">	
						<td>
						<input type="submit" size="2" name="voir_memo" id="voir_memo" class="btn_bas_de_page" value="Voir" >
						<input type="hidden" name="id_dde_tableau_memo" id="id_dde_tableau_memo" value="' . 
						htmlspecialchars($doncherch['Id_demande']) . '" >			 
						</td>
		</form>
		<form method="post" style="text-align: center" name="deconfirm" id="deconfirm" action="">	
						<td> 
						<input type="submit" name="btndeconfirm" id="btndeconfirm" value="" onclick="return verifdeconfirmcheckbox()" 
						title="Déconfirmer cette demande" class="icon-2 info-tooltip" />
						<input type="hidden" name="id_dde_tableau_deconfirm" id="id_dde_tableau_deconfirm" value="' . 
						htmlspecialchars($doncherch['Id_demande']) . '" >									  
						</td>
						
					</tr>
		</form>';
			}
			$reqservfinale->closeCursor();	
 
?>
			</table>
			<?php
			}

Et la partie code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
if (isset($_POST['id_dde_tableau_mail']))
		{
				$id_dde_tableau_mail=htmlspecialchars($_POST['id_dde_tableau_mail']);
 
 
							if(count($_POST["btnmail"])>0) 
							{ 
									for ($i = 0; $i < count($_POST["btnmail"]); $i++)
									{
										// requete qui permet de mettre une valeur au renvoie mail serv, ainsi on le recuperera pour envoyer par mail
										$req_update = $bdd->prepare('UPDATE demande SET Renvoie_mail_serv="1" WHERE Id_demande="' . $id_dde_tableau_mail . 
										'" AND Email_service="' . $emailserv . '" AND Id_ecole="' . $idecole . '"');
 
 
										$req_update->execute();
										$req_update->closeCursor();
									}
 
									if($_POST['btnmailrenvoie'] == 'Envoyer les mails')
									{
 
										// ENVOI DE L ' EMAIL
									}
 
							}		
							else 
							{
							echo "une case n'est pas cochée";
							}			 	
			}		
?>

Merci d'avance