Controller und Tickets vereinheitlicht (CRUD)

This commit is contained in:
2025-06-23 14:46:12 +02:00
parent 66ff531ba4
commit d8865cbd27
16 changed files with 559 additions and 213 deletions

View File

@@ -6,45 +6,66 @@ use PDOException;
class TicketModel extends Database {
public function buyTicket($values) {
$sql = "INSERT INTO ticket (`userId`, `eventId`, `kaufdatum`, `gueltigkeitsdatum`) VALUES (
:userId, :eventId, :kaufdatum, :gueltigkeitsdatum);";
public function getTickets() {
$pdo = $this->linkDB();
$params = array(
":userId" => $values['userId'],
":eventId" => $values['eventId'],
":kaufdatum" => $values['kaufdatum'],
":gueltigkeitsdatum" => $values['gueltigkeitsdatum']
);
$sql = "SELECT * FROM Ticket ORDER BY ticketid ASC;";
try {
$sth = $pdo->prepare($sql);
$sth->execute($params);
$sth->execute();
return $sth->fetchAll(\PDO::FETCH_ASSOC);
} catch (PDOException $e) {
new \Blog\Library\ErrorMsg("Fehler beim Schreiben der Daten.", $e);
new \Blog\Library\ErrorMsg("Fehler beim Lesen der Tickets.", $e);
die;
}
return true;
}
public function hasTicket($userId, $eventId) {
$sql = "SELECT * FROM ticket WHERE userId = :userId AND eventId = :eventId";
public function buyTicket($data) {
$pdo = $this->linkDB();
$params = array(
":userId" => $userId,
":eventId" => $eventId,
);
$sql = "INSERT INTO Ticket (userid, eventid, kaufdatum, gültigkeitsdatum)
VALUES (:userid, :eventid, :kaufdatum, :gültigkeitsdatum);";
$params = [
":userid" => $data['userid'],
":eventid" => $data['eventid'],
":kaufdatum" => $data['kaufdatum'],
":gültigkeitsdatum" => $data['gültigkeitsdatum']
];
try {
$sth = $pdo->prepare($sql);
$sth->execute($params);
return $sth->fetchAll(\PDO::FETCH_ASSOC);
return $pdo->lastInsertId();
} catch (PDOException $e) {
new \Blog\Library\ErrorMsg("Fehler beim Lesen der Daten.", $e);
new \Blog\Library\ErrorMsg("Fehler beim Kauf des Tickets.", $e);
die;
}
}
public function hasTicket($userid, $eventid) {
$pdo = $this->linkDB();
$sql = "SELECT COUNT(*) as count FROM Ticket WHERE userid = :userid AND eventid = :eventid;";
$params = [
":userid" => $userid,
":eventid" => $eventid
];
try {
$sth = $pdo->prepare($sql);
$sth->execute($params);
return $sth->fetch(\PDO::FETCH_ASSOC);
} catch (PDOException $e) {
new \Blog\Library\ErrorMsg("Fehler bei der Ticketprüfung.", $e);
die;
}
}
public function deleteTicket($ticketid) {
$pdo = $this->linkDB();
$sql = "DELETE FROM Ticket WHERE ticketid = :ticketid;";
$params = [":ticketid" => $ticketid];
try {
$sth = $pdo->prepare($sql);
$sth->execute($params);
return $sth->rowCount();
} catch (PDOException $e) {
new \Blog\Library\ErrorMsg("Fehler beim Löschen des Tickets.", $e);
die;
}
}