72 lines
2.3 KiB
PHP
72 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace Blog\Model;
|
|
|
|
use PDOException;
|
|
|
|
class TicketModel extends Database {
|
|
|
|
public function getTickets() {
|
|
$pdo = $this->linkDB();
|
|
$sql = "SELECT * FROM Ticket ORDER BY ticketid ASC;";
|
|
try {
|
|
$sth = $pdo->prepare($sql);
|
|
$sth->execute();
|
|
return $sth->fetchAll(\PDO::FETCH_ASSOC);
|
|
} catch (PDOException $e) {
|
|
new \Blog\Library\ErrorMsg("Fehler beim Lesen der Tickets.", $e);
|
|
die;
|
|
}
|
|
}
|
|
|
|
public function buyTicket($data) {
|
|
$pdo = $this->linkDB();
|
|
$sql = "INSERT INTO Ticket (userid, ausstellungid, kaufdatum, gueltigkeit)
|
|
VALUES (:userid, :ausstellungid, :kaufdatum, :gueltigkeit);";
|
|
$params = [
|
|
":userid" => $data['userid'],
|
|
":ausstellungid" => $data['ausstellungid'],
|
|
":kaufdatum" => $data['kaufdatum'],
|
|
":gueltigkeit" => $data['gueltigkeit']
|
|
];
|
|
try {
|
|
$sth = $pdo->prepare($sql);
|
|
$sth->execute($params);
|
|
return $pdo->lastInsertId();
|
|
} catch (PDOException $e) {
|
|
new \Blog\Library\ErrorMsg("Fehler beim Kauf des Tickets.", $e);
|
|
die;
|
|
}
|
|
}
|
|
|
|
public function hasTicket($userid, $ausstellungid) {
|
|
$pdo = $this->linkDB();
|
|
$sql = "SELECT COUNT(*) as count FROM Ticket WHERE userid = :userid AND ausstellungid = :ausstellungid;";
|
|
$params = [
|
|
":userid" => $userid,
|
|
":ausstellungid" => $ausstellungid
|
|
];
|
|
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;
|
|
}
|
|
}
|
|
} |