Colonnes de dates dynamiques
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:
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:
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
---