Question stats: Fix order BT#18880

pull/3928/head
Julio Montoya 4 years ago
parent d42c00ada6
commit d4d772dbd5
  1. 38
      main/exercise/question_stats.php
  2. 1
      main/mySpace/question_stats_global.php

@ -103,6 +103,7 @@ foreach ($headers as $header) {
} }
$row++; $row++;
$scoreDisplay = new ScoreDisplay(); $scoreDisplay = new ScoreDisplay();
$orderedData = [];
if ($form->validate()) { if ($form->validate()) {
$questions = ExerciseLib::getWrongQuestionResults($courseId, $exerciseId, $sessionId, $groups, $users); $questions = ExerciseLib::getWrongQuestionResults($courseId, $exerciseId, $sessionId, $groups, $users);
@ -116,24 +117,43 @@ if ($form->validate()) {
$groups, $groups,
$users $users
); );
$table->setCellContents($row, 0, $data['question']); $orderedData[] = [
$table->setCellContents($row, 1, $data['count'].' / '.$total); $data['question'],
$table->setCellContents($row, 2, $scoreDisplay->display_score([$data['count'], $total], SCORE_AVERAGE)); $data['count'].' / '.$total,
$row++; $scoreDisplay->display_score([$data['count'], $total], SCORE_AVERAGE),
];
} }
} else { } else {
$questions = ExerciseLib::getWrongQuestionResults($courseId, $exerciseId, $sessionId); $questions = ExerciseLib::getWrongQuestionResults($courseId, $exerciseId, $sessionId);
foreach ($questions as $data) { foreach ($questions as $data) {
$questionId = (int) $data['question_id']; $questionId = (int) $data['question_id'];
$total = ExerciseLib::getTotalQuestionAnswered($courseId, $exerciseId, $questionId, $sessionId); $total = ExerciseLib::getTotalQuestionAnswered($courseId, $exerciseId, $questionId, $sessionId);
$table->setCellContents($row, 0, $data['question']); $orderedData[] = [
$table->setCellContents($row, 1, $data['count'].' / '.$total); $data['question'],
$table->setCellContents($row, 2, $scoreDisplay->display_score([$data['count'], $total], SCORE_AVERAGE)); $data['count'].' / '.$total,
$row++; $scoreDisplay->display_score([$data['count'], $total], SCORE_AVERAGE),
];
} }
} }
$table = new SortableTableFromArray(
$orderedData,
0,
100,
'question_tracking'
);
$table->hideNavigation = true;
$table->column = 2;
$column = 0;
foreach ($headers as $header) {
$table->set_header($column, $header, false);
$column++;
}
Display::display_header($nameTools, get_lang('Exercise')); Display::display_header($nameTools, get_lang('Exercise'));
echo $formToString; echo $formToString;
echo $table->toHtml(); echo $table->return_table();
Display::display_footer(); Display::display_footer();

@ -175,6 +175,7 @@ if ($form->validate()) {
100, 100,
'question_tracking' 'question_tracking'
); );
$table->hideNavigation = true;
$table->column = 4; $table->column = 4;
$column = 0; $column = 0;
foreach ($headers as $header) { foreach ($headers as $header) {

Loading…
Cancel
Save