Developpez.com

Plus de 2 000 forums
et jusqu'à 5 000 nouveaux messages par jour

Poster une sélection multiple avec des checkbox

Présentation
Poster une sélection multiple avec des checkbox
Détails
Catégories : Formulaires
Avatar de Sub0
Expert confirmé
Voir tous les téléchargements de l'auteur
Licence : Autre
Date de mise en ligne : 15 février 2011




Avatar de laghmariothmane laghmariothmane - Nouveau Candidat au Club https://www.developpez.com
le 02/11/2011 à 17:17
Bonjour,
J'espère que vous allez bien.
J'ai besoin d'aide par rapport à un cas presque similaire à votre post, dans le cadre d'une gestion d'absences et de retards d'une association.

dans une page précédente, je généré la liste d'élèves par rapport à une date, par défaut les élèves sont générés PRESENT (cette génération m'insère les élèves dans une table 'absence', ensuite je modifie s'il l'élève est ABSENT ou en RETARD, je fais ça pour tous les élèves, ensuite je met à jour avec un seul bouton SUBMIT.

Je souhaite que ma boucle FOREACH fasse son travail mais malheureusement elle n'enregistre que le dernier de la liste. Je vois d'où provient le problème, mais je ne suis pas experte pour le résoudre.

car en fait j'ai mon ID qui est dans un champ HIDDEN et quand je met à jour, je me base par rapport à cet ID et je ne sais comment le passer dans le FOREACH sachant que je passe la valeur de mes boutons radio, à savoir : PRESENT, ABSENT, RETARD.

Voici mon code pour plus d'infos :

Code : Sélectionner tout
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
if($op == 'maj') 
{ 
	foreach ($abs_ret as $value) 
	{ 
			if ($value == 'present') 
			{ 
				$sql=" update absence set present='oui', absence='non', retard='non' where id_absence='$value"; 
				$req = mysql_query($sql) or die("Erreur SQL !<br>$sql<br>mysql_error()");  
			} 
			if ($value == 'absence') 
			{ 
				$sql=" update absence set present='non', absence='oui', retard='non' where id_absence='$value' "; 
				$req = mysql_query($sql) or die("Erreur SQL !<br>$sql<br>mysql_error()");  
			} 
			if ($value == 'retard') 
			{ 
				$sql=" update absence set present='non', absence='non', retard='oui', minute='$minute' where id_absence='$value' "; 
				$req = mysql_query($sql) or die("Erreur SQL !<br>$sql<br>mysql_error()");  
			} 
	} 
	unset($value); 
		echo"<script language='JavaScript'> 
		window.location=('absence2.php?id_prof=$id_prof&date=$date'); 
		</script>";	 
} 
 
  <table width="100%" border="1" align="center"><p align="center"></p> 
<tr>     
    <td width="*" align="center"><h6 class="Style1"><b>Nom - Prénom</b></h6></td> 
    <td width="*" align="center"><h6 class="Style1"><b>Absence - Retard</b></h6></td> 
  </tr> 
<? 
$sql=" select * from absence where date='$date' and id_prof=$id_prof "; 
$req = mysql_query($sql) or die("Erreur SQL !<br>$sql<br>mysql_error()");  
 
$nbr_resultat = mysql_num_rows($req); 
	 
$i = 0; 
 
while($field = mysql_fetch_array($req)) 
{ 
	echo "<form name='form1' method='post' action='absence2.php?op=maj&date=$date&id_prof=$field[1]'>"; 
	$sql1=" select * from eleve where id_eleve='$field[2]' "; 
	$req1 = mysql_query($sql1) or die("Erreur SQL !<br>$sql1<br>mysql_error()");  
	 
	if($field1 = mysql_fetch_array($req1)) 
	{ 
		echo "<tr> 
		<td>$field1[1] $field1[2]</td> 
		<td> 
  <table width='*'> 
    <tr> 
	  <td><input name='id_absence[]' type='hidden' value='$field[0]' /><label> 
        <input type='radio' name=' 
		abs_ret[$i]' value='present' "; if ($field[4] == 'oui') { echo "checked";} echo "/> 
        Présent</label></td> 
      <td><label> 
        <input type='radio' name='abs_ret[$i]' value='absence' "; if ($field[5] == 'oui') { echo "checked";} echo "/> 
        Absent</label></td> 
      <td><label> 
        <input type='radio' name='abs_ret[$i]' value='retard' "; if ($field[6] == 'oui') { echo "checked";} echo "/> 
        En retard</label> 
        <select name='minute' id='minute'> 
    <option value='$field[7]'>$field[7] min</option> 
    <option value='0'>0 min</option> 
    <option value='5'>5 min</option> 
    <option value='10'>10 min</option> 
    <option value='15'>15 min</option> 
    <option value='20'>20 min</option> 
    <option value='25'>25 min</option> 
    <option value='30'>30 min</option> 
    <option value='35'>35 min</option> 
    <option value='40'>40 min</option> 
    <option value='45'>45 min</option> 
  </select></td> 
    </tr> 
  </table> 
 
</td> 
		</tr>"; 
		$i++; 
	} 
} 
echo "</table> 
<input type='submit' name='button' id='button' value='Envoyer' /></form>"; 
?>
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.
Contacter le responsable de la rubrique PHP