= ? AND mt.attended = 1 AND mt.wore_color = 0 AND m.is_completed = 1 GROUP BY u.username ORDER BY penalty_count DESC "; $stmt = mysqli_prepare($conn, $sql_penalties); // Überprüfen, ob das Statement erfolgreich vorbereitet wurde if ($stmt === false) { die("Fehler bei der SQL-Abfrage: " . mysqli_error($conn)); } mysqli_stmt_bind_param($stmt, "s", $last_reset_date); mysqli_stmt_execute($stmt); $result = mysqli_stmt_get_result($stmt); while ($row = mysqli_fetch_assoc($result)) { $penalties_data[] = $row; $total_penalties += $row['penalty_count']; $total_due += $row['penalty_count'] * $penalty_amount; } mysqli_stmt_close($stmt); // Neue Statistik: Ranking nach bezahlten Strafen // NEUE BEDINGUNG: Auch hier nur abgeschlossene Meetings einbeziehen. $paid_stats = []; $sql_paid = " SELECT u.username, COUNT(mt.user_id) AS paid_count FROM meeting_teilnehmer mt JOIN meetings m ON mt.meeting_id = m.id JOIN users u ON mt.user_id = u.id WHERE mt.paid = 1 AND m.is_completed = 1 GROUP BY u.username ORDER BY paid_count DESC "; $result_paid = mysqli_query($conn, $sql_paid); while ($row = mysqli_fetch_assoc($result_paid)) { $paid_stats[] = $row; } require_once 'inc/header.php'; ?>
Gesamtzahl der Strafen: = $total_penalties ?>
Fälliger Gesamtbetrag: = number_format($total_due, 2, ',', '.'); ?> €
| Benutzer | Anzahl Strafen | Fälliger Betrag |
|---|---|---|
| = htmlspecialchars($penalty['username']); ?> | = htmlspecialchars($penalty['penalty_count']); ?> | = number_format($penalty['penalty_count'] * $penalty_amount, 2, ',', '.'); ?> € |