Affichage des moyennes des modules

This commit is contained in:
xdrm-brackets 2015-11-30 10:23:34 +01:00
parent 87def5505a
commit 1b2cba7f1d
4 changed files with 51 additions and 6 deletions

View File

@ -759,8 +759,14 @@ class DataBase{
foreach($parcours[$iter_s]['UEs'][$iter_ue]['modules'] as $iter_mod=>$MOD){ foreach($parcours[$iter_s]['UEs'][$iter_ue]['modules'] as $iter_mod=>$MOD){
$parcours[$iter_s]['UEs'][$iter_ue]['modules'][$iter_mod]['controles'] = controleRepo::forStudent($MOD['id'], $semestre['id']); $parcours[$iter_s]['UEs'][$iter_ue]['modules'][$iter_mod]['controles'] = controleRepo::forStudent($MOD['id'], $semestre['id']);
foreach($parcours[$iter_s]['UEs'][$iter_ue]['modules'][$iter_mod]['controles'] as $iter_ct=>$CONTROLE) $parcours[$iter_s]['UEs'][$iter_ue]['modules'][$iter_mod]['moyenne'] = noteRepo::moyenneModule($etudiantUID, $MOD['id'], $semestre['id']);
foreach($parcours[$iter_s]['UEs'][$iter_ue]['modules'][$iter_mod]['controles'] as $iter_ct=>$CONTROLE){
$parcours[$iter_s]['UEs'][$iter_ue]['modules'][$iter_mod]['controles'][$iter_ct]['notes'] = noteRepo::forStudent($etudiantUID, $CONTROLE['id']); $parcours[$iter_s]['UEs'][$iter_ue]['modules'][$iter_mod]['controles'][$iter_ct]['notes'] = noteRepo::forStudent($etudiantUID, $CONTROLE['id']);
}
} }
} }

View File

@ -214,6 +214,35 @@ class noteRepo extends DBAccess{
/* RETOURNE LA MOYENNE D'UN MODULE POUR UN ETUDIANT
*
* @etudiant<String> l'UID de l'étudiant en question
* @module<int> l'UID du module en quesion
* @semestre<int> l'UID du semestre en question
*
*
* @return moyenne<Float> retourne la valeur de la moyenne en question
* @return FALSE<Boolean> retourne FALSE si rien n'est trouvé
*
*/
public static function moyenneModule($etudiant, $module, $semestre){
$getMoyenneModule = DataBase::getPDO()->prepare("SELECT AVG(note.valeur) as moyenne, ctrl.base
FROM note, appartenance as app, controle as ctrl, mcc_module as mcc_m, mcc_ue, semestre as s
WHERE note.id_controle = ctrl.id_controle
AND ctrl.id_mcc_module = mcc_m.id_mcc_module
AND mcc_m.id_mcc_ue = mcc_ue.id_mcc_ue
AND mcc_ue.id_semestre = app.id_semestre
AND app.id_etudiant = :etudiant
AND mcc_m.id_module = :module
AND app.id_semestre = :semestre
GROUP BY mcc_m.id_mcc_module");
$getMoyenneModule->execute(array( ':etudiant' => $etudiant, ':module' => $module, ':semestre' => $semestre ));
return $getMoyenneModule->fetch();
}
/* CRÉATION/MODIFICATION D'UNE NOTE POUR UN ETUDIANT À UN CONTRÔLE /* CRÉATION/MODIFICATION D'UNE NOTE POUR UN ETUDIANT À UN CONTRÔLE
* *
* @etudiant<String> l'UID de l'étudiant en question * @etudiant<String> l'UID de l'étudiant en question

View File

@ -863,7 +863,6 @@ if( (permission('master') || permission('admin')) && $etudiantOpt != null ){
displayParcours( $parcoursChart ); displayParcours( $parcoursChart );
// pour chaque semestres (tous si aucun semestreOpt, sinon uniquement le selectionné) // pour chaque semestres (tous si aucun semestreOpt, sinon uniquement le selectionné)
foreach($answer->parcours as $semestre){ if( $semestreOpt == null || $semestreOpt == $semestre['id'] ){ foreach($answer->parcours as $semestre){ if( $semestreOpt == null || $semestreOpt == $semestre['id'] ){
@ -890,6 +889,16 @@ if( (permission('master') || permission('admin')) && $etudiantOpt != null ){
echo '<td>Coefficient '.number_format($controle['coefficient'], 2).'</td>'; echo '<td>Coefficient '.number_format($controle['coefficient'], 2).'</td>';
echo '</tr>'; echo '</tr>';
} }
// moyenne du module
// echo "<td colspan=4><span class='stressed'>Moyenne du module</span></td>";
echo "<tr class='transparentbg noborder'>";
if( is_bool($module['moyenne']) ) // si aucune note pour ce controle on affiche 'Pas de note'
echo "<td colspan=4><span class='link stressed' style='padding:1em; background:white;'>Pas de moyenne</span></td>";
else // si une note, alors on l'affiche
echo "<td colspan=4><span class='link stressed' style='padding:1em; background:white;'>moyenne de ".number_format($module['moyenne']['moyenne'], 2)." <span class=unstressed>/</span> ".$module['moyenne']['base']."</span></td>";
echo '</tr>';
echo '</tbody>'; echo '</tbody>';
} }
echo '</table>'; echo '</table>';

View File

@ -39,7 +39,8 @@ function displayParcours($parcours){
); );
/* CHOIX DU THEME */ /* CHOIX DU THEME */
$themeColor = $themes['blou']; $themeColor = $themes['twitter'];
$textColor = $themes['facebook'];
@ -58,7 +59,7 @@ function displayParcours($parcours){
// [3] points d'ancrages // [3] points d'ancrages
for($i = 0 ; $i < $n ; $i++){ for($i = 0 ; $i < $n ; $i++){
$ti = $lettrePixel * strlen( $parcours[$i]['nom'] ); // longueur du texte actuel $ti = $lettrePixel * strlen( $parcours[$i]['nom'] ); // longueur du texte actuel
echo "<text x='".($M+2*$M*$i - $ti/2)."' y='".$text['y']."' fill='".$themeColor."' style='font-family:Ubuntu;font-size:16px;'>".$parcours[$i]['nom']."</text>"; echo "<text x='".($M+2*$M*$i - $ti/2)."' y='".$text['y']."' fill='".$textColor."' style='font-family:Ubuntu;font-size:16px;'>".$parcours[$i]['nom']."</text>";
echo "<circle class='semestre_circle' data-stre='".$parcours[$i]['id']."' cx='".($M+2*$M*$i)."' cy='".$dot['y']."' r='".$dot['r']."' stroke='".$themeColor."' stroke-width='".(.8*$dot['r'])."' fill='#ecf0f1'/>"; echo "<circle class='semestre_circle' data-stre='".$parcours[$i]['id']."' cx='".($M+2*$M*$i)."' cy='".$dot['y']."' r='".$dot['r']."' stroke='".$themeColor."' stroke-width='".(.8*$dot['r'])."' fill='#ecf0f1'/>";
} }