IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Téléchargé 7 fois
Vote des utilisateurs
0 
0 
Détails
Licence : Non renseignée
Mise en ligne le 15 février 2011
Langue : Français
Référencé dans
Navigation

Poster une sélection multiple avec des checkbox

Poster une sélection multiple avec des checkbox
Avatar de 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&eacute;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&eacute;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.