= ? 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'; ?>

Kasse & Auswertung

Strafen seit letztem Abschluss

Gesamtzahl der Strafen:
Fälliger Gesamtbetrag:

Benutzer Anzahl Strafen Fälliger Betrag

Rechnungen

Ranking - Rechnung übernommen