Bonjour,

Je vous explique mon problème.
J'ai trois listes formation, année et semestre qui me permet en sélectionnant un choix me permet de générer une troisième liste .

A partir du choix sur cette dernière, je récupère un identifiant et un nom de module.
Avec ces informations, je veux réaliser une mise à jour dans une table note en faisant une condition WHERE sur l'identifiant et le nom du module.

Le problème, c'est que ma mise à jour ne se fait pas mais je ne vois pas pourquoi ma requête UPDATE ne marche pas.

Je vous met le code. Merci.

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
<?php
 
if (isset ($_POST['VALIDER'])){
 
//Connection à la base de données
connectMaBase();
 
//On récupère les valeurs entrées par l'utilisateur :
$annee=$_POST['ANNEE'];
$formation=$_POST['FORMATION'];
$semestre=$_POST['SEMESTRE'];
 
//Création de session pour stocker le nom ,la date de la formation et le semestre
$_SESSION['formation'] = $formation ;
$_SESSION['annee'] = $annee ;
$_SESSION['semestre'] = $semestre ;
 
//Récupération des coordonnées des étudiants correspondant à la formation choisie
$sqlnom = " SELECT NomEtudiant, PrenomEtudiant, IdEtudiant FROM etudiant WHERE (NomFormation='$formation' AND DateFormation='$annee')"; 
$result = mysql_query($sqlnom) or die("Erreur dans la requête sur la table etudiant"); 
 
//Récupération des modules correspondant à la formation choisie
$sqlmodule = " SELECT NomModule FROM modules WHERE (NomFormation='$formation' AND DateFormation='$annee' AND NumSemestre='$semestre')"; 
$resultmodule = mysql_query($sqlmodule) or die("Erreur dans la requête sur la table module"); 
 
//On ferme la connexion
mysql_close();
 
 }
 
?> 
 
 <FORM  name="formulaire2"  action="Modifiernote.php" method="post">
 
<br><br>
 <div id="decalage">
 
<label for="NomEtudiant">Etudiants de cette formation : </label><select name="NomEtudiant">
<?php
//Génération de la liste dynamique pour les étudiants
while ($row=mysql_fetch_array($result)) 
{ 
echo"<option value='".$row[2]."'>".$row[0]." ".$row[1]." - ".$row[2]."</option>";
} 
?>
</select>
 
</div>
<br> 
 
<div id="decalage">
<label for="Listemodules">Modules de cette formation : </label><select name="Listemodules">
<?php
//Génération de la liste dynamique pour les modules
while ($row2=mysql_fetch_array($resultmodule)) 
{ 
echo"<option value='".$row2[0]."'>".$row2[0]."</option>"; 
} 
?>
 
</select>
 
</div>
<br><br> 
 <div id="decalage">
 
<label for="NOTEEXAMEN">NOTE EXAMEN :</label><input type="text" name="NOTEEXAMEN" id="NOTEEXAMEN" maxlength="2" size="2"> <br> <br>
<label for="NOTETP">NOTE TP  :</label><input type="text" name="NOTETP" id="NOTETP" maxlength="2" size="2"> <br> <br>
 
<?php 
 
if (isset ($_POST['VALIDATION'])){
 
//Connection à la base de données
connectMaBase();
 
$noteExam=parseInt($_POST['NOTEEXAMEN']);
$noteTP=parseInt($_POST['NOTETP']);
$nomModule=$_POST['Listemodules'];
$etudiantId=$_POST['NomEtudiant'];
 
//Si on désire changer la note d'examen
//if (!empty($noteExam))
//{
 
$sqlupdateexam = "UPDATE note SET NoteExam ='".$noteExam."' WHERE (IdEtudiant='".$etudiantId."' AND NomModule='".$nomModule."')";
mysql_query ($sqlupdateexam) or die ('Erreur lors de la modification de la note d\'examen !'.$sqlupdateexam.'<br />'.mysql_error());
//}
 
//Si on désire changer la note de TP
//if (!empty($noteTP))
//{
$sqlupdatetp = "UPDATE note SET NoteTp = '".$noteTP."' WHERE (IdEtudiant='".$etudiantId."' AND NomModule='".$nomModule."')";
mysql_query ($sqlupdatetp) or die ('Erreur lors de la modification de la note de TP !'.$sqlupdatetp.'<br />'.mysql_error());
//}
 
//Calcul de la moyenne du module
if (empty($noteTP))
{
	$moyennne=$noteExam;
}
else
{
	$moyennne=(2/3)*$noteExam+(1/3)*$noteTP;
}
 
//Mise à jour de la moyenne du module si une note a été modifiée
//if (!empty($noteExam)||!empty($noteTP))
//{
$sqlupdatemoy = "UPDATE note SET moy = '".$moyennne."' WHERE (IdEtudiant='".$etudiantId."' AND NomModule='".$nomModule."')";
mysql_query ($sqlupdatemoy) or die ('Erreur lors de la modification de la moyenne du module !'.$sqlupdatemoy.'<br />'.mysql_error());
//}
 
//On ferme la connexion
mysql_close();
 
}
?>