X-Git-Url: https://git.treefish.org/banana.git/blobdiff_plain/3f75cb10d008938dca476577d6256765093d1932..df32c63a6e9666eb062f806262aa23ed43c6eb99:/admin/summary.php?ds=sidebyside diff --git a/admin/summary.php b/admin/summary.php index 0cd5467..3ed725d 100644 --- a/admin/summary.php +++ b/admin/summary.php @@ -2,26 +2,55 @@ require 'include/head.inc'; require 'include/db.inc'; require 'include/session.inc'; + require 'include/exams.inc'; require 'include/common.inc'; + if ($db->query("SELECT COUNT(*) FROM students")->fetch(PDO::FETCH_NUM)[0] == 0) { + block("red", "no students registered"); + exit; + } + block("black", "summary of everything for " . date("d.m.Y H:i")); - $result = $db->query("SELECT firstname, lastname, mnumber, blackboard FROM students ORDER BY lastname"); + $result = $db->query("SELECT firstname, lastname, mnumber, blackboard FROM students ORDER BY LOWER(lastname)"); print "
First name | Last name | Matr.nummer | Examples | Blackboard | "; + print "First name | Last name | Matr.nummer | Blackboard | Examples | Exams | "; + while ($student = $result->fetch(PDO::FETCH_ASSOC)) { - $exdone = $db->query("SELECT manydone FROM workdone WHERE mnumber=" . $student['mnumber'])->fetch(PDO::FETCH_NUM); $totexdone = 0; - foreach($exdone as $subdone) { $totexdone += $subdone; } + if( $db->query("SELECT COUNT(*) FROM workdone WHERE mnumber=" . $student['mnumber'])->fetch(PDO::FETCH_NUM)[0] > 0 ) { + $exdone = $db->query("SELECT manydone FROM workdone WHERE mnumber=" . $student['mnumber']); + while ( $subdone = $exdone->fetch(PDO::FETCH_NUM) ) { $totexdone += $subdone[0]; } + } + + $examscore=0; + foreach ($EXAMS as $exam) { + $scorestr = $db->query("SELECT scorestr FROM examscore WHERE mnumber=" . $student['mnumber'] . " AND exam=" . $exam['id'])->fetch(PDO::FETCH_NUM)[0]; + if ($scorestr != "") { + $singlescore = 0; + foreach (explode(',',$scorestr) as $points) { $singlescore = $singlescore + $points; } + $examscore = $examscore + $singlescore/$exam['totscore']; + } + } + $examscore = ($examscore / $EXAMS_n)*100; + print "
" . $student['firstname'] . " | "; print "" . $student['lastname'] . " | "; print "" . $student['mnumber'] . " | "; - print "" . $totexdone . "/" . $SESSIONS_totex_nextinc . " | "; - print "" . $student['blackboard'] . " | "; + print ""; + print($student['blackboard']); + print " | "; + print ""; + printf("%3d", round(100 * floatval($totexdone) / floatval($SESSIONS_totex_nextinc))); + print "% | "; + print ""; + printf("%3d", round($examscore)); + print "% | "; print "