From 1722dd9c7f2def4a21209e2855af586de5aa9d16 Mon Sep 17 00:00:00 2001 From: nicoboy Date: Fri, 2 Jan 2026 16:37:21 +0100 Subject: [PATCH] =?UTF-8?q?erreur=20corrig=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- eleve/dashboard.php | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/eleve/dashboard.php b/eleve/dashboard.php index 2d9b976..516b823 100644 --- a/eleve/dashboard.php +++ b/eleve/dashboard.php @@ -74,12 +74,11 @@ if ($isEleveLibre) { $query4Dernieres = "SELECT e.id_evaluation, e.titre, - e.chapitre, + e.description, te.note, te.pourcentage, te.date_fin, - te.temps_passe_secondes, - (SELECT COUNT(*) FROM questions WHERE id_evaluation = e.id_evaluation) as nb_questions + te.temps_passe_secondes FROM tentatives_eleves te INNER JOIN evaluations e ON te.id_evaluation = e.id_evaluation WHERE te.id_eleve = ? @@ -89,18 +88,29 @@ $query4Dernieres = "SELECT $dernieresEvals = $db->fetchAll($query4Dernieres, [$user['id_utilisateur']]); +// Ajouter le nombre de questions pour chaque évaluation +foreach ($dernieresEvals as &$eval) { + $queryNbQuestions = "SELECT COUNT(*) as nb FROM questions WHERE id_evaluation = ?"; + $result = $db->fetchOne($queryNbQuestions, [$eval['id_evaluation']]); + $eval['nb_questions'] = $result['nb'] ?? 0; +} + // Calculer la moyenne des 4 dernières $moyenne4Dernieres = 0; if (!empty($dernieresEvals)) { - $somme = array_sum(array_column($dernieresEvals, 'note')); - $moyenne4Dernieres = $somme / count($dernieresEvals); + $notes = array_filter(array_column($dernieresEvals, 'note'), function($n) { + return $n !== null && is_numeric($n); + }); + if (!empty($notes)) { + $moyenne4Dernieres = array_sum($notes) / count($notes); + } } // Récupérer TOUTES les évaluations terminées pour le graphique $queryToutesEvals = "SELECT e.id_evaluation, e.titre, - e.chapitre, + e.description, te.note, te.pourcentage, te.date_fin @@ -555,14 +565,16 @@ $stats = $db->fetchOne($queryStats, [$user['id_utilisateur']]) ?? [
- + 50 ? '...' : '') : 'Évaluation terminée' ?>
+ 0): ?>
- / questions + / questions
+
/20
@@ -572,7 +584,7 @@ $stats = $db->fetchOne($queryStats, [$user['id_utilisateur']]) ?? [ %
- ⏱️ + ⏱️
@@ -584,10 +596,12 @@ $stats = $db->fetchOne($queryStats, [$user['id_utilisateur']]) ?? [ + 0): ?>
-

Moyenne sur ces 4 évaluations

+

Moyenne sur ces évaluation 1 ? 's' : '' ?>

/20
+ @@ -623,8 +637,7 @@ $stats = $db->fetchOne($queryStats, [$user['id_utilisateur']]) ?? [

- Chapitre : - | Durée : min + Durée : min

@@ -771,7 +784,8 @@ $stats = $db->fetchOne($queryStats, [$user['id_utilisateur']]) ?? [ if (context.datasetIndex === 0) { const index = context.dataIndex; const eval = toutesEvaluations[index]; - return `Chapitre: ${eval.chapitre || 'Non spécifié'}`; + const date = new Date(eval.date_fin); + return `Date: ${date.toLocaleDateString('fr-FR')}`; } return ''; }