Bonsoir,

J'essaye de créer une boucle while dans une boucle while... mais j'ai un souci.

La première boucle fonctionne (boucle par élève d'une classe) mais la deuxième boucle (un tableau par élève de la classe) n'affiche que la première ligne du tableau alors que cette boucle seule renvoi plusieurs lignes par élève.

J'ai chercher sur Google mais je ne trouve rien

Voici mon code au cas qqun pourrait me guider...

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
 
if(!empty($_POST['classe'])){
$classe=$_POST['classe'];	
//DEBUT boucle par élève d'une classe
$sql3="SELECT student_klas AS classe, student_stam AS stam_student, student_naam AS naam_student, student_voornaam AS voornaam_student FROM pia_students, studenten WHERE pia_students_stam = student_stam AND student_klas='$classe' ORDER BY student_naam ASC";
$results3 = $bdd->query($sql3);
while( $row3=$results3->fetch() ){
$student=$row3['stam_student'];
//DEBUT un tableau par élève de la classe
echo '
<br />
<h3>'.$row3['voornaam_student'].' '.$row3['naam_student'].'</h3>
<table cellpadding="0" cellspacing="0" border="0" class="datatable-1 table table-bordered table-striped	 display" width="100%">
';
$sql2="SELECT pia_quest AS no_quest, pia_quest.name AS question, COUNT(pia_quest) AS total FROM pia_rec,pia_quest WHERE pia_quest.id = pia_rec.pia_quest AND pia_stam REGEXP '$student' GROUP BY pia_quest ORDER BY total DESC";
$results2 = $bdd->query($sql2);
while( $row2=$results2->fetch() ){
echo '
<tr>
	<td>'.$row2['total'].'x</td>
	<td>'.$row2['no_quest'].'. '.$row2['question'].'</td>	
</tr>
';
 
$results2->closeCursor();
echo'</table>';
}
//FIN un tableau par élève
}
//FIN boucle par élève d'une classe
}
Merci d'avance,

Sub