Alles auf Englisch umbenannt: exhibition → event, Variablen und Tabellen angepasst, Views auf neue Felder umgestellt, Controller/Model/SQL konsistent gemacht. Alte Variablennamen raus, jetzt ist alles einheitlich. Fehler aus dem Frontend gefixt.
This commit is contained in:
@@ -3,70 +3,72 @@
|
||||
namespace Blog\Model;
|
||||
|
||||
use PDOException;
|
||||
use PDO;
|
||||
|
||||
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;
|
||||
}
|
||||
$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 (userid, ausstellungid, kaufdatum, gueltigkeit)
|
||||
VALUES (:userid, :ausstellungid, :kaufdatum, :gueltigkeit);";
|
||||
$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 = [
|
||||
":userid" => $data['userid'],
|
||||
":ausstellungid" => $data['ausstellungid'],
|
||||
":kaufdatum" => $data['kaufdatum'],
|
||||
":gueltigkeit" => $data['gueltigkeit']
|
||||
':user_id' => $data['user_id'],
|
||||
':event_id' => $data['event_id'],
|
||||
':purchase_date' => $data['purchase_date'],
|
||||
':valid_until' => $data['valid_until']
|
||||
];
|
||||
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;
|
||||
}
|
||||
$stmt->execute($params);
|
||||
return $pdo->lastInsertId();
|
||||
}
|
||||
|
||||
public function hasTicket($userid, $ausstellungid) {
|
||||
public function checkTicketExists($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;
|
||||
}
|
||||
$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($ticketid) {
|
||||
public function deleteTicket($id) {
|
||||
$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;
|
||||
}
|
||||
$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);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user