Bonjour, j'ai deux tables :

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
CREATE TABLE etudiant
(
IdEtudiant VARCHAR(20) NOT NULL, 
Civilite VARCHAR(10) NOT NULL,
NomEtudiant VARCHAR(20) NOT NULL,
PrenomEtudiant VARCHAR(20) NOT NULL,
NomFormation VARCHAR(20) NOT NULL,
DateFormation INT NOT NULL,
FOREIGN KEY (NomFormation,DateFormation) REFERENCES formation(NomFormation,DateFormation)
);
 
CREATE TABLE note
(
IdEtudiant VARCHAR(20) NOT NULL,
NomModule VARCHAR(20) NOT NULL,
NomFormation VARCHAR(20) NOT NULL,
DateFormation INT NOT NULL,
NumSemestre VARCHAR(5) NOT NULL,
PRIMARY KEY(IdEtudiant,NomModule,NomFormation,DateFormation,NumSemestre),
FOREIGN KEY (IdEtudiant) REFERENCES etudiant(IdEtudiant),
FOREIGN KEY (NomModule,NomFormation,DateFormation,NumSemestre) REFERENCES modules(NomModule,NomFormation,DateFormation,NumSemestre),
NoteExam float NOT NULL,
NoteTp float,
moy float 
);
Dans le but d'avoir un tableau de résultats sous la forme :

IdEtudiant NomEtudiant PrenomEtudiant Matière1 Matière2 ...

avec Matière1 Matière2 ... correspondant à ma variable moy.

J'ai réalisé le code suivant :

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
//On récupère les valeurs entrées par l'utilisateur :
$annee=$_POST['ANNEE'];
$formation=$_POST['FORMATION'];
$semestre=$_POST['SEMESTRE'];
 
//On récupère les modules de la formation et du semestre sélectionnés
$sqlmodules = "SELECT NomModule FROM modules WHERE (NomFormation='".$formation."' AND DateFormation='".$annee."' AND NumSemestre='".$semestre."')";
$reqmodules = mysql_query($sqlmodules) or die('Erreur de la requête sur la table module!<br />'.$sqlmodules.'<br />'.mysql_error());         
 
//On récupère les noms, prenoms et IDetudiant de la formation et du semestre sélectionnés
$sqletud = "SELECT IdEtudiant,UPPER(NomEtudiant),PrenomEtudiant FROM etudiant WHERE (NomFormation='".$formation."' AND DateFormation='".$annee."') /*ORDER BY NomEtudiant,PrenomEtudiant*/";
$reqetud = mysql_query($sqletud) or die('Erreur de la requête sur la table etudiant!<br />'.$sqletud.'<br />'.mysql_error());         
 
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="#ff5000" align="center" ><b><u>IDetudiant</u></b></td>';
        echo '<td bgcolor="#ff5000" align="center" ><b><u>Nom étudiant</u></b></td>';
		echo '<td bgcolor="#ff5000" align="center" ><b><u>Prenom étudiant</u></b></td>';
 
	 while ($data = mysql_fetch_array($reqmodules))
		{  
		echo '<td bgcolor="#ff9800" align="center" ><b><u>'.$data["NomModule"].'</u></b></td>';
		}
 
     	while ($data2 = mysql_fetch_array($reqetud))
	     {
		$sqlmoy = "SELECT moy FROM note WHERE (IdEtudiant='".$data2["IdEtudiant"]."')";
		$reqmoy = mysql_query($sqlmoy) or die('Erreur de la requête sur la table mote!<br />'.$sqlmoy.'<br />'.mysql_error());         
 
 
 
           echo '<tr>';
             echo '<td bgcolor="#ffffff" align="center">'.$data2["IdEtudiant"].'</td>';	
		     echo '<td bgcolor="#ffffff" align="center">'.$data2["UPPER(NomEtudiant)"].'</td>';
		     echo '<td bgcolor="#ffffff" align="center">'.$data2["PrenomEtudiant"].'</td>';
 
			 while ($data3 = mysql_fetch_array($reqmoy))
			  {
				echo '<td bgcolor="#ffffff" align="center">'.$data3["moy"].'</td>';
			  }
		   echo '</tr>'."\n";
 
		}	
 
   echo '</table>';  
 
echo '</div>';
J'arrive bien à récupérer ma ligne d'entête, ainsi que les noms, prenoms et IDetudiant des étudiants de ma formation.
Mon pb est que je n'ai pas l'affichage des notes.

Si quelqu'un voit d'où vient le problème. Merci d'avance.