linkDB(); $sql = "SELECT * FROM ticket ORDER BY ticket_id ASC;"; $stmt = $pdo->prepare($sql); $stmt->execute(); return $stmt->fetchAll(PDO::FETCH_ASSOC); } public function buyTicket($data) { $pdo = $this->linkDB(); $sql = "INSERT INTO ticket (user_id, event_id, purchase_date, valid_until) VALUES (:user_id, :event_id, :purchase_date, :valid_until)"; $stmt = $pdo->prepare($sql); $params = [ ':user_id' => $data['user_id'], ':event_id' => $data['event_id'], ':purchase_date' => $data['purchase_date'], ':valid_until' => $data['valid_until'] ]; $stmt->execute($params); return $pdo->lastInsertId(); } public function checkTicketExists($userid, $ausstellungid) { $pdo = $this->linkDB(); $sql = "SELECT COUNT(*) as count FROM ticket WHERE user_id = :user_id AND event_id = :event_id;"; $stmt = $pdo->prepare($sql); $params = [':user_id' => $userid, ':event_id' => $ausstellungid]; $stmt->execute($params); $result = $stmt->fetch(PDO::FETCH_ASSOC); return $result['count'] > 0; } public function deleteTicket($id) { $pdo = $this->linkDB(); $sql = "DELETE FROM ticket WHERE ticket_id = :ticket_id;"; $stmt = $pdo->prepare($sql); $params = [':ticket_id' => $id]; return $stmt->execute($params); } public function createTicket($data) { $pdo = $this->linkDB(); $sql = "INSERT INTO ticket (event_id, user_id, price) VALUES (:event_id, :user_id, :price);"; $stmt = $pdo->prepare($sql); $params = [ ':event_id' => $data['event_id'], ':user_id' => $data['user_id'], ':price' => $data['price'] ]; return $stmt->execute($params); } public function getTicketsByUser($userId) { $pdo = $this->linkDB(); $sql = "SELECT t.*, e.name as event_name, e.start_date, e.end_date FROM ticket t JOIN event e ON t.event_id = e.event_id WHERE t.user_id = :user_id;"; $stmt = $pdo->prepare($sql); $params = [':user_id' => $userId]; $stmt->execute($params); return $stmt->fetchAll(PDO::FETCH_ASSOC); } }