Stempelkarten-System

$buchung) { if (date('Y-m-d', strtotime($buchung['timestamp_datetime'])) !== $datum) { die("Fehler: Nicht alle Termineinträge sind für denselben Tag."); } } try { $pdo->beginTransaction(); // Löschvorgänge durchführen foreach ($deleted_entries as $deleted_id) { $delete_query = "DELETE FROM timestamps WHERE timestamp_id = :timestamp_id AND employee_id = :employee_id"; $stmt = $pdo->prepare($delete_query); $stmt->bindParam(':timestamp_id', $deleted_id, PDO::PARAM_INT); $stmt->bindParam(':employee_id', $employee_id, PDO::PARAM_INT); $stmt->execute(); } // Speichern oder Aktualisieren der Buchungen foreach ($buchungen as $timestamp_id => $buchung) { if (strpos($timestamp_id, 'new_') !== false) { // Neue Buchung hinzufügen $insert_query = "INSERT INTO timestamps (employee_id, timestamp_type, timestamp_datetime) VALUES (:employee_id, :timestamp_type, :timestamp_datetime)"; $stmt = $pdo->prepare($insert_query); } else { // Bestehende Buchung aktualisieren $update_query = "UPDATE timestamps SET timestamp_type = :timestamp_type, timestamp_datetime = :timestamp_datetime WHERE timestamp_id = :timestamp_id AND employee_id = :employee_id"; $stmt = $pdo->prepare($update_query); $stmt->bindParam(':timestamp_id', $timestamp_id, PDO::PARAM_INT); } $stmt->bindParam(':employee_id', $employee_id, PDO::PARAM_INT); $stmt->bindParam(':timestamp_type', $buchung['timestamp_type']); $stmt->bindParam(':timestamp_datetime', $buchung['timestamp_datetime']); $stmt->execute(); } $pdo->commit(); echo "Änderungen erfolgreich gespeichert."; } catch(PDOException $e) { $pdo->rollBack(); echo "Datenbankfehler: " . $e->getMessage(); } } else { die("Ungültige Anfrage."); } ?>