erreur corrigée
This commit is contained in:
@ -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']]) ?? [
|
||||
<?= htmlspecialchars($eval['titre']) ?>
|
||||
</h4>
|
||||
<div class="chapitre">
|
||||
<?= htmlspecialchars($eval['chapitre'] ?? 'Non spécifié') ?>
|
||||
<?= !empty($eval['description']) ? htmlspecialchars(substr($eval['description'], 0, 50)) . (strlen($eval['description']) > 50 ? '...' : '') : 'Évaluation terminée' ?>
|
||||
</div>
|
||||
|
||||
<div class="note-display-large">
|
||||
<div>
|
||||
<?php if ($eval['nb_questions'] > 0): ?>
|
||||
<div class="note-fraction">
|
||||
<?= number_format($eval['note'], 1) ?>/<?= $eval['nb_questions'] ?> questions
|
||||
<?= round($eval['pourcentage'] * $eval['nb_questions'] / 100, 1) ?>/<?= $eval['nb_questions'] ?> questions
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="note-sur-20">
|
||||
<?= number_format($eval['note'], 2) ?>/20
|
||||
</div>
|
||||
@ -572,7 +584,7 @@ $stats = $db->fetchOne($queryStats, [$user['id_utilisateur']]) ?? [
|
||||
<?= round($eval['pourcentage']) ?>%
|
||||
</div>
|
||||
<div style="font-size: 11px; color: #999;">
|
||||
⏱️ <?= gmdate('i:s', $eval['temps_passe_secondes']) ?>
|
||||
⏱️ <?= gmdate('i:s', $eval['temps_passe_secondes'] ?? 0) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -584,10 +596,12 @@ $stats = $db->fetchOne($queryStats, [$user['id_utilisateur']]) ?? [
|
||||
<?php endforeach; ?>
|
||||
|
||||
<!-- Moyenne des 4 dernières -->
|
||||
<?php if ($moyenne4Dernieres > 0): ?>
|
||||
<div class="moyenne-4">
|
||||
<h3>Moyenne sur ces 4 évaluations</h3>
|
||||
<h3>Moyenne sur ces <?= count($dernieresEvals) ?> évaluation<?= count($dernieresEvals) > 1 ? 's' : '' ?></h3>
|
||||
<div class="value"><?= number_format($moyenne4Dernieres, 2) ?>/20</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
@ -623,8 +637,7 @@ $stats = $db->fetchOne($queryStats, [$user['id_utilisateur']]) ?? [
|
||||
<p><?= htmlspecialchars($eval['description']) ?></p>
|
||||
<?php endif; ?>
|
||||
<p>
|
||||
<strong>Chapitre :</strong> <?= htmlspecialchars($eval['chapitre'] ?? 'Non spécifié') ?>
|
||||
| <strong>Durée :</strong> <?= $eval['duree_minutes'] ?? 'Libre' ?> min
|
||||
<strong>Durée :</strong> <?= $eval['duree_minutes'] ?? 'Libre' ?> min
|
||||
</p>
|
||||
<?php if (isset($eval['fin_acces'])): ?>
|
||||
<p style="color: #f57c00;">
|
||||
@ -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 '';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user