aboutsummaryrefslogtreecommitdiff
path: root/admin-show.php
diff options
context:
space:
mode:
Diffstat (limited to 'admin-show.php')
-rw-r--r--admin-show.php69
1 files changed, 58 insertions, 11 deletions
diff --git a/admin-show.php b/admin-show.php
index 7f6c99b..21be02b 100644
--- a/admin-show.php
+++ b/admin-show.php
@@ -63,8 +63,8 @@ echo "<table>";
echo "<tr>";
echo "<th>Semester</th>";
echo "<th>Prüfung</th>";
-echo "<th>Gruppe</th>";
-echo "<th>Nachname</th>";
+echo "<th>Gruppe <input type=\"submit\" name=\"grup\" value=\"&#8593\"><input type=\"submit\" name=\"grdn\" value=\"&#8595\"></th>";
+echo "<th>Nachname <input type=\"submit\" name=\"snup\" value=\"&#8593\"> <input type=\"submit\" name=\"sndn\" value=\"&#8595\"></th>";
echo "<th>Vorname</th>";
echo "<th>Labor</th>";
echo "<th>Klausur</th>";
@@ -112,16 +112,13 @@ echo "</tr>";
//echo "<form action=\"admin-show.php\" method=\"post\">";
//echo "<table>";
+$displaytable = [];
foreach ($groups as $semester => $pruefungen) {
if ($selectedsemester === "alle" or $selectedsemester === $semester) {
foreach ($pruefungen as $pruefung => $groupsperpruefung) {
if ($selectedpruefung === "alle" or $selectedpruefung === $pruefung) {
foreach ($groupsperpruefung as $groupname => $teilnehmerarray) {
foreach ($teilnehmerarray as $matrikelnummer) {
- echo "<tr>";
- echo "<td> $semester </td>";
- echo "<td> $pruefung </td>";
- echo "<td> $groupname </td>";
$student = $students[$matrikelnummer];
$nachname = $student["nachname"];
$vorname = $student["vorname"];
@@ -135,17 +132,67 @@ foreach ($groups as $semester => $pruefungen) {
} else {
$labornote = "";
}
- echo "<td><a href=\"show-user.php?matrikelnummer=$matrikelnummer\">$nachname</a></td>";
- echo "<td> $vorname </td>";
- echo "<td><input type=\"text\" name=\"note[$matrikelnummer][$pruefung][labor][$semester]\" value=\"$labornote\" size=2 maxlength=2></td>";
- echo "<td><input type=\"text\" name=\"note[$matrikelnummer][$pruefung][klausur][$semester]\" value=\"$klausurnote\" size=3 maxlength=3></td>";
- echo "</tr>";
+ $displayrow = array (
+ "semester" => $semester,
+ "fach" => $pruefung,
+ "gruppe" => $groupname,
+ "nachname" => "<a href=\"show-user.php?matrikelnummer=$matrikelnummer\">$nachname</a>",
+ "vorname" => $vorname,
+ "labornote" => "<input type=\"text\" name=\"note[$matrikelnummer][$pruefung][labor][$semester]\" value=\"$labornote\" size=2 maxlength=2>",
+ "klausurnote" => "<input type=\"text\" name=\"note[$matrikelnummer][$pruefung][klausur][$semester]\" value=\"$klausurnote\" size=3 maxlength=3>"
+ );
+ $displaytable[] = $displayrow;
}
}
}
}
}
}
+
+function get_sortkey() {
+ foreach (["snup", "sndn", "grup", "grdn"] as $key) {
+ if (isset($_POST[$key])) {
+ return $key;
+ }
+ }
+ if (isset($_POST["sortkey"])) {
+ return $_POST["sortkey"];
+ }
+}
+
+$sk = get_sortkey();
+
+if ($sk === "snup" or $sk === "sndn") {
+ function cmp($a,$b) {
+ global $sk;
+ preg_match('/<a.*>(.*)<\/a>/',$a["nachname"],$matches);
+ $asn=$matches[1];
+ preg_match('/<a.*>(.*)<\/a>/',$b["nachname"],$matches);
+ $bsn=$matches[1];
+ return ($sk === "snup") ? strcmp($asn,$bsn) : strcmp($bsn,$asn);
+ }
+ echo "<input type=\"hidden\" name=\"sortkey\" value=$sk>";
+ usort($displaytable, 'cmp');
+}
+
+if ($sk === "grup" or $sk === "grdn") {
+ function cmp($a,$b) {
+ global $sk;
+ $agr = $a["gruppe"];
+ $bgr = $b["gruppe"];
+ return ($sk === "grup") ? strcmp($agr,$bgr) : strcmp($bgr,$agr);
+ }
+ echo "<input type=\"hidden\" name=\"sortkey\" value=$sk>";
+ usort($displaytable, 'cmp');
+}
+
+foreach ($displaytable as $row) {
+ echo "<tr>";
+ foreach ($row as $element) {
+ echo "<td>$element</td>";
+ }
+ echo "</tr>";
+}
echo "</table>";
echo "<input type=\"submit\" name=\"update\" value=\"update\">";
echo "</form>";