Bonjour,

J'ai une base de données dans laquelle j'ai des différents champs (id,note,...).

J'ai réalisé une fonction qui me permet d'afficher mes résultats dans un tableau.
Mais j'ai remarqué qu'il me manque à chaque fois une ligne de résultat à l'affichage (la première dans ma base données vérifiant la condition.
J'ai essayé en modifiant les données mais ça ne change rien.

Je vous met mon code, si qq voit le pb, 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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
<?php session_start(); ?> 
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
<?php
include("fonctions.php");
?>
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<link rel="stylesheet" media="screen" type="text/css" title="Mon style" href="navigation.css" />
<link href="favicon.ico"  rel="shortcut icon" type="image/x-icon" />
 
<head>
<title> Affichage Notes </title>
</head>
 
<body>
 
<p class="logo"><a href="index.php"><img src="images/menu_titre.png" alt="Application Web de Gestion" border="0" /></a></p>
 
<p  class="menu" align="center">
           <a class="nav" href="formation.php">Formation</a>
           <a class="nav" href="eleve.php">Etudiant</a>
           <a class="nav" href="intervenant.php">Intervenant</a>
           <a class="nav0" href="note.php">Note</a>
           <a class="nav" href="recapitulatif.php">Récapitulatif</a>
</p>
 
<p  class="menu2" align="center">
			<a class="nav2" href="Inserernote.php">Insertion notes</a>
			<a class="nav2" href="Modifiernote.php">Modifier notes</a>
			<a class="nav0" href="Afficherenotes.php">Afficher notes</a>
</p>
 
<br><br><br>
 
 
<FORM  name="formulaire"  action="Afficherenotes.php" method="post">
<div id="decalage">
<br><br>
 
<label for="ANNEE">ANNEE :</label>
<select name="ANNEE">
<option>----------------</option>
<option value="2005">2004 - 2005</option>
<option value="2006">2005 - 2006</option>
<option value="2007">2006 - 2007</option>
<option value="2008">2007 - 2008</option>
<option value="2009">2008 - 2009</option>
<option value="2010">2009 - 2010</option>
<option value="2011">2010 - 2011</option>
<option value="2012">2011 - 2012</option>
<option value="2013">2012 - 2013</option>
<option value="2014">2013 - 2014</option>
<option value="2015">2014 - 2015</option>
<option value="2016">2015 - 2016</option>
<option value="2017">2016 - 2017</option>
<option value="2018">2017 - 2018</option>
<option value="2019">2018 - 2019</option>
<option value="2020">2019 - 2020</option>
</select>
<br><br>
 
<label for="FORMATION">FORMATION :</label>
<select name="FORMATION">
<option>-------------------------------------------</option>
<option value="L1Maths">Licence 1 Math&eacute;matiques</option>
<option value="L1Info">Licence 1 Informatique</option>
<option value="L1PC">Licence 1 Physique-chimie</option>
<option value="L2Maths">Licence 2 Math&eacute;matiques</option>
<option value="L2Info">Licence 2 Informatique</option>
<option value="L2PC">Licence 2 Physique-chimie</option>
<option value="L3Maths">Licence 3 Math&eacute;matiques</option>
<option value="L3Info">Licence 3 Informatique</option>
<option value="L3PC">Licence 3 Physique-chimie</option>
<option value="M1Maths">Master 1 Math&eacute;matiques</option>
<option value="M1Info">Master 1 Informatique</option></option>
<option value="M1PC">Master 1 Physique-chimie</option></option>
<option value="M2Maths">Master 2 Math&eacute;matiques</option>
<option value="M2Info">Master 2 Informatique</option>
<option value="M2PC">Master 2 Physique-chimie</option>
<option value="M2CCI">Master 2 CCI</option>
</select >
<br><br>
 
<label for="SEMESTRE">SEMESTRE :</label>
<select name="SEMESTRE">
<option>----</option>
<option value="1">S1</option>
<option value="2">S2</option>
</select >
<br><br>
 
<input Type="submit" Value="AFFICHER" name="VALIDER">
<input Type="reset" Value="ANNULER" name="ANNULER">
</div>
</FORM>
 
<?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 et la date de la formation
$_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"); 
 
//On ferme la connexion
mysql_close();
 
 }
 
?> 
 
 <FORM  name="formulaire2"  action="Afficherenotes.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> <br> 
 
<input Type="submit" Value="AFFICHER" name="VALIDATION">
<input Type="reset" Value="ANNULER" name="ANNULER">
 
<br> <br> <br>
 
<?php 
 
if (isset ($_POST['VALIDATION'])){
 
//Connection à la base de données
connectMaBase();
 
//Récupération du numéro étudiant
$etudiantId = $_POST['NomEtudiant'];
 
//On récupère les notes de la base de données
$sqlnotes = "SELECT NomModule,NoteExam,NoteTp,moy FROM note WHERE (IdEtudiant LIKE '%$etudiantId%' AND NomFormation='".$_SESSION['formation']."' AND DateFormation='".$_SESSION['annee']."' AND NumSemestre='".$_SESSION['semestre']."')";
$reqnotes = mysql_query($sqlnotes) or die('Erreur de la requête sur la table note!<br />'.$sqlnotes.'<br />'.mysql_error());         
$notes = mysql_fetch_array($reqnotes);
 
//On compte le nombre d'étudiants contenu dans la base de données  
$nb_notes = mysql_num_rows($reqnotes);
 
if ($nb_notes == 0) { 
   echo 'Pas de notes pour cet étudiant pour ce semestre.';  
}  
 
else { 
 
//On récupère le nom de l'étudiant sélectionné
$sqlnometud = "SELECT NomEtudiant,PrenomEtudiant FROM etudiant WHERE (IdEtudiant LIKE '%$etudiantId%' AND NomFormation='".$_SESSION['formation']."' AND DateFormation='".$_SESSION['annee']."')";
$reqetud = mysql_query($sqlnometud) or die('Erreur de la requête sur la table note!<br />'.$sqlnometud.'<br />'.mysql_error());         
$nometud = mysql_fetch_array($reqetud);
 
echo 'Notes de l\'étudiant '," ",$nometud[0]," ",$nometud[1]," ",'pour le semestre '," ",$_SESSION['semestre']," ",'de la formation'," ",$_SESSION['formation']," : ";
echo '<br> <br>';
 
echo '<div id="decalage">';
 
   echo '<table border="0" bgcolor="#333333" cellpadding="10" cellspacing="3">'."\n";
        // première ligne on affiche les titres 
        echo '<tr>';
        echo '<td bgcolor="#ff9800" align="center" ><b><u>Module</u></b></td>';
        echo '<td bgcolor="#ff9800" align="center" ><b><u>Note Examen</u></b></td>';
		echo '<td bgcolor="#ff9800" align="center" ><b><u>Note TP</u></b></td>';
		echo '<td bgcolor="#ff9800" align="center" ><b><u>Moyenne</u></b></td>';
    echo '</tr>'."\n"; 
   // on va scanner tous les tuples un par un 
   while ($data = mysql_fetch_array($reqnotes)) { 
         // on affiches les résultats dans la <table>
 
		 echo '<tr>';
        echo '<td bgcolor="#ffffff" align="center">'.$data["NomModule"].'</td>';
        echo '<td bgcolor="#ffffff" align="center">'.$data["NoteExam"].'</td>';
		echo '<td bgcolor="#ffffff" align="center">'.$data["NoteTp"].'</td>';
        echo '<td bgcolor="#ffffff" align="center">'.$data["moy"].'</td>';
 
	echo '</tr>'."\n";
  } 
   echo '</table>';  
 
echo '</div>';
}
 
//On calcul la moyenne générale de l'élève
//$sqlmoygenerale = "SELECT ROUND(SUM(moy)/COUNT(moy),2) FROM note WHERE (IdEtudiant LIKE '%$etudiantId%' AND NomFormation='".$_SESSION['formation']."' AND DateFormation='".$_SESSION['annee']."' AND NumSemestre='".$_SESSION['semestre']."')";
 
$sqlmoygenerale = "SELECT round(SUM(note.moy*modules.CoeffModule)/SUM(modules.CoeffModule),2)
 FROM note,modules 
 WHERE note.NomFormation=modules.NomFormation
 AND   note.DateFormation=modules.DateFormation
 AND   note.NumSemestre=modules.NumSemestre
 AND   note.NomModule=modules.NomModule
 AND IdEtudiant LIKE '%$etudiantId%'";
 //AND NomFormation='".$_SESSION['formation']."' 
 //AND DateFormation='".$_SESSION['annee']."'
 //AND NumSemestre='".$_SESSION['semestre']."'";
 
$reqmoygenerale = mysql_query($sqlmoygenerale) or die('Erreur de la requête sur la table note!<br />'.$sqlmoygenerale.'<br />'.mysql_error());         
$moygenerale = mysql_fetch_array($reqmoygenerale);
 
echo '<br> <br>';
echo '<b><u>Moyenne générale</u></b>'," : ",$moygenerale[0];
echo '<br> <br>';
 
if ($moygenerale[0]>=0)
{
 echo '<b><u> Résultat </u> : ADMIS </b>';
}
 
else
{
 echo '<b><u> Résultat </u> : REFUSE </b>';
}
// on libère l'espace mémoire alloué pour cette requête  
//mysql_free_result ($reqnotes);
 
//On ferme la connexion
mysql_close();
 
}
?>
 
<?php 
//On détruit toutes les variables de session
//session_unset();
 
?>
 
 
 </div>
</FORM>
 
</body>
 
</html>
Mon affichage correspond à la partie de 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
echo 'Notes de l\'étudiant '," ",$nometud[0]," ",$nometud[1]," ",'pour le semestre '," ",$_SESSION['semestre']," ",'de la formation'," ",$_SESSION['formation']," : ";
echo '<br> <br>';
 
echo '<div id="decalage">';
 
   echo '<table border="0" bgcolor="#333333" cellpadding="10" cellspacing="3">'."\n";
        // première ligne on affiche les titres 
        echo '<tr>';
        echo '<td bgcolor="#ff9800" align="center" ><b><u>Module</u></b></td>';
        echo '<td bgcolor="#ff9800" align="center" ><b><u>Note Examen</u></b></td>';
		echo '<td bgcolor="#ff9800" align="center" ><b><u>Note TP</u></b></td>';
		echo '<td bgcolor="#ff9800" align="center" ><b><u>Moyenne</u></b></td>';
    echo '</tr>'."\n"; 
   // on va scanner tous les tuples un par un 
   while ($data = mysql_fetch_array($reqnotes)) { 
         // on affiches les résultats dans la <table>
 
		 echo '<tr>';
        echo '<td bgcolor="#ffffff" align="center">'.$data["NomModule"].'</td>';
        echo '<td bgcolor="#ffffff" align="center">'.$data["NoteExam"].'</td>';
		echo '<td bgcolor="#ffffff" align="center">'.$data["NoteTp"].'</td>';
        echo '<td bgcolor="#ffffff" align="center">'.$data["moy"].'</td>';
 
	echo '</tr>'."\n";
  } 
   echo '</table>';  
 
echo '</div>';
}