0) { $stmt = mysqli_prepare($conn, "UPDATE meetings SET meeting_date = ?, color_id = ?, reason = ? WHERE id = ?"); mysqli_stmt_bind_param($stmt, "sisi", $meeting_date, $color_id, $reason, $meeting_id); mysqli_stmt_execute($stmt); mysqli_stmt_close($stmt); } } // Alte Teilnehmerdaten löschen $stmt = mysqli_prepare($conn, "DELETE FROM meeting_teilnehmer WHERE meeting_id = ?"); mysqli_stmt_bind_param($stmt, "i", $meeting_id); mysqli_stmt_execute($stmt); mysqli_stmt_close($stmt); // Neue Daten speichern if (isset($_POST['user_id']) && is_array($_POST['user_id'])) { $stmt_insert = mysqli_prepare($conn, " INSERT INTO meeting_teilnehmer (meeting_id, user_id, attended, wore_color, paid, birthday_pay) VALUES (?, ?, ?, ?, ?, ?) "); $meeting_year = (int)date('Y', strtotime($meeting['meeting_date'])); $meeting_month = (int)date('n', strtotime($meeting['meeting_date'])); $meeting_day = (int)date('j', strtotime($meeting['meeting_date'])); foreach ($_POST['user_id'] as $user_id) { $user_id = intval($user_id); $attended = isset($_POST['attended'][$user_id]) ? 1 : 0; $wore_color = isset($_POST['wore_color'][$user_id]) ? 1 : 0; $paid = isset($_POST['paid'][$user_id]) ? 1 : 0; $birthday_pay = 0; if ($paid) { // Hole Geburtstag des Users $user_stmt = mysqli_prepare($conn, "SELECT birthday FROM users WHERE id = ?"); mysqli_stmt_bind_param($user_stmt, "i", $user_id); mysqli_stmt_execute($user_stmt); $user_row = mysqli_fetch_assoc(mysqli_stmt_get_result($user_stmt)); mysqli_stmt_close($user_stmt); if ($user_row && $user_row['birthday'] && $user_row['birthday'] !== '0000-00-00') { $bday_month = (int)date('n', strtotime($user_row['birthday'])); $bday_day = (int)date('j', strtotime($user_row['birthday'])); // War Geburtstag in diesem Jahr bereits? $birthday_passed = ($bday_month < $meeting_month || ($bday_month == $meeting_month && $bday_day <= $meeting_day)); if ($birthday_passed) { // Prüfen: Hat er in DIESEM JAHR schon als Geburtstagszahler gezahlt? $check_stmt = mysqli_prepare($conn, " SELECT 1 FROM meeting_teilnehmer mt JOIN meetings m ON mt.meeting_id = m.id WHERE mt.user_id = ? AND mt.birthday_pay = 1 AND YEAR(m.meeting_date) = ? LIMIT 1 "); mysqli_stmt_bind_param($check_stmt, "ii", $user_id, $meeting_year); mysqli_stmt_execute($check_stmt); $already_birthday_paid = mysqli_num_rows(mysqli_stmt_get_result($check_stmt)) > 0; mysqli_stmt_close($check_stmt); if (!$already_birthday_paid) { $birthday_pay = 1; } } } } mysqli_stmt_bind_param( $stmt_insert, "iiiiii", $meeting_id, $user_id, $attended, $wore_color, $paid, $birthday_pay ); mysqli_stmt_execute($stmt_insert); } mysqli_stmt_close($stmt_insert); // Meeting abschließen (nur im Index-Modus) if ($source_page === 'index') { $stmt_complete = mysqli_prepare($conn, "UPDATE meetings SET is_completed = 1 WHERE id = ?"); mysqli_stmt_bind_param($stmt_complete, "i", $meeting_id); mysqli_stmt_execute($stmt_complete); mysqli_stmt_close($stmt_complete); } $message = "Teilnehmerdaten erfolgreich gespeichert!"; $message_type = 'success'; } else { $message = "Keine Benutzerdaten übermittelt."; $message_type = 'warning'; } header("Location: " . $cancel_link); exit; } require_once 'inc/header.php'; ?>
für das Treffen am = date('d.m.Y H:i', strtotime($meeting['meeting_date'])) ?> in der Farbe .