Bonjour,
J'ai un petit problème concernant une programmation PHP avec le SGBD MySQL.
J'aimerais savoir si quelqu'un aurait une solution.
Voilà, je veux que pour une ligne d'élèves je puisse voir grâce à des colonnes de dates, les notes obtenues.
Par exemple :
---------------------------------------------------------------------
Eleves / Dates 17/02/2017 18/02/2017 25/02/2017
Adrian 11 15 16
Albert 9 8 10
Jerome 10 10 10
Guillaumme 20 19 20
....
---------------------------------------------------------------------
J'ai créé une requête qui fonctionne bien :
---------------------------------------------------------------------
---------------------------------------------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT l.student, s.name, s.firstname, GROUP_CONCAT(CASE when t.date='2017-02-17' then l.niveauG end) as '2017-02-17', GROUP_CONCAT(CASE when t.date='2017-02-18' then l.niveauG end) as '2017-02-18' FROM testline l, test t, student s WHERE l.test=t.code AND l.student=s.code GROUP BY l.student
Mais les colonnes ne sont pas dynamiques, c'est à dire qu'elles n'apparaissent pas automatiquement à l'ajout d'un test.
Alors j'ai essayé cela :
---------------------------------------------------------------------
---------------------------------------------------------------------
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 <?php $sql=mysql_query("SELECT date from test "); $sq2l=mysql_query("SELECT l.student, s.name, s.firstname". while ($row = mysql_fetch_array($sql)) { $date = $row['date']; echo ", GROUP_CONCAT(CASE when t.date='".$date."' then l.niveauG end) as '".$date."'"; } ." FROM testline l, test t, student s WHERE l.test=t.code AND l.student=s.code GROUP BY l.student"); echo' <table width="80%" border="2" align="center">'; echo '<tr> <th>Elèves</th> <b>'.$date.'</b> </tr>'; while ($row2 = mysql_fetch_array($sql2)) { echo '<tr> <td>'.$studentname.' '.$studentfirstname.'</td>'; } ?> </table>
Mais rien à faire le While n'est pas accepté :
Parse error: syntax error, unexpected 'while' (T_WHILE) in C:\Program Files (x86)
\EasyPHP-DevServer-13.1VC9\data\localweb\School\gradecourse.php on line 266
Auriez-vous une meilleure idée ?
Merci
---
Partager