-
Notifications
You must be signed in to change notification settings - Fork 1
/
auswertung.php
103 lines (92 loc) · 3.22 KB
/
auswertung.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
include('module.php');
$conn = dbconnect();
$ende = vergleicheZeiten($endzeit);
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="darksite.css"/>
<link rel="stylesheet" href="addfragen.css"/>
<title>Auswertungsseite</title>
</head>
<body>
<?php
if ($ende) {
// Zeige eine andere Seite basierend auf der Variable $ende an
echo "<h1>Auswertung</h1>";
echo "<table>";
echo "<tr>";
echo "<th>Platz</th>";
echo "<th>Gruppe</th>";
echo "<th>Ausstehend</th>";
echo "<th>Richtig</th>";
echo "<th>Falsch</th>";
echo "<th>Gesamtpunkte</th>";
echo "</tr>";
// SQL-Befehl ausführen und nach der Anzahl der richtigen Antworten absteigend sortieren
$result = sqlbefehl($conn, "SELECT Gruppe,
SUM(CASE WHEN Korrektur = 'Ausstehend' THEN 1 ELSE 0 END) AS Ausstehend,
SUM(CASE WHEN Korrektur = 'Richtig' THEN 1 ELSE 0 END) AS Richtig,
SUM(CASE WHEN Korrektur = 'Falsch' THEN 1 ELSE 0 END) AS Falsch,
SUM(Punkte) AS Gesamtpunkte
FROM Antworten
GROUP BY Gruppe
ORDER BY Gesamtpunkte DESC");
// Ergebnisse ausgeben
if ($result->num_rows > 0) {
$platz = 1;
while($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td>" . $platz . "</td>";
echo "<td>" . $row["Gruppe"]. "</td>";
echo "<td>" . $row["Ausstehend"]. "</td>";
echo "<td>" . $row["Richtig"]. "</td>";
echo "<td>" . $row["Falsch"]. "</td>";
echo "<td>" . $row["Gesamtpunkte"]. "</td>";
echo "</tr>";
$platz++;
}
} else {
echo "<tr><td colspan='6'>0 Ergebnisse gefunden</td></tr>";
}
echo "</table>";
} else {
// Zeige die ursprüngliche Seite an
echo "<h2>Stationen pro Gruppe</h2>";
echo "<table>";
echo "<tr>";
echo "<th>Platz</th>";
echo "<th>Gruppe</th>";
echo "<th>Anzahl der bearbeiteten Stationen</th>";
echo "</tr>";
// SQL-Befehl ausführen und nach der Anzahl der bearbeiteten Stationen absteigend sortieren
$result = sqlbefehl($conn, "SELECT Gruppe,
COUNT(DISTINCT Station) AS Anzahl_Stationen,
SUM(Punkte) AS Gesamtpunkte
FROM Antworten
GROUP BY Gruppe
ORDER BY Gesamtpunkte DESC");
// Ergebnisse ausgeben
if ($result->num_rows > 0) {
$platz = 1;
while($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td>" . $platz . "</td>";
echo "<td>" . $row["Gruppe"]. "</td>";
echo "<td>" . $row["Anzahl_Stationen"]. "</td>";
echo "</tr>";
$platz++;
}
} else {
echo "<tr><td colspan='3'>0 Ergebnisse gefunden</td></tr>";
}
echo "</table>";
}
// Verbindung schließen
$conn->close();
?>
</body>
</html>