VPR_Schnittstelle/Model/GerichtModel.php

107 lines
2.9 KiB
PHP
Raw Permalink Normal View History

2023-12-07 09:46:54 +01:00
<?php
2024-01-13 15:51:38 +01:00
//Programmierung: Sven Alteköster 100%
//Getestet durch: Sven Alteköster 100%
2023-12-07 09:46:54 +01:00
namespace ppb\Model;
use ppb\Library\Msg;
2023-12-18 08:16:21 +01:00
class GerichtModel extends Database
{
2023-12-07 09:46:54 +01:00
/**
* Sucht die Gerichte in der Datenbank und gibt diese im json-Format zurück.
* @param $id gibt die id, des gesuchten Objektes an. Wenn keine id angegeben wird, werden alle Einträge ausgegeben
*/
2023-12-18 08:16:21 +01:00
public function selectGericht($id = false)
{
$pdo = $this->linkDB();
2023-12-07 09:46:54 +01:00
$sql = "SELECT * FROM Gericht";
$params = array();
//Ist eine id angegeben wird der Datensatz in der Datenbank gesucht
2023-12-18 08:16:21 +01:00
if ($id !== false) {
2023-12-07 09:46:54 +01:00
$sql .= " WHERE id = :id";
$params["id"] = $id;
}
//Ausführen des SQL befehls
try {
2023-12-18 08:16:21 +01:00
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
} catch (\PDOException $e) {
2023-12-07 09:46:54 +01:00
echo $e;
return false;
}
$result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
2023-12-18 08:16:21 +01:00
2023-12-07 09:46:54 +01:00
//Die Datensätze werden nummeriert
2023-12-18 08:16:21 +01:00
foreach ($result as $key => $row) {
$result[$key]["id"] += 0;
}
2023-12-07 09:46:54 +01:00
2023-12-18 08:16:21 +01:00
return $result;
2023-12-07 09:46:54 +01:00
}
/**
* Fügt ein Gericht in die Datenbank ein.
* @param $data gibt die Attribute des Datensatzes an.
*/
2023-12-18 08:16:21 +01:00
public function insertGericht($data)
{
$pdo = $this->linkDB();
2023-12-07 09:46:54 +01:00
$sql = "INSERT INTO Gericht (" . implode(",", array_keys($data)) . ") VALUES(:" . implode(",:", array_keys($data)) . ")";
2023-12-18 08:16:21 +01:00
try {
2023-12-07 09:46:54 +01:00
$stmt = $pdo->prepare($sql);
$result = $stmt->execute($data);
2023-12-18 08:16:21 +01:00
} catch (\PDOException $e) {
2023-12-07 09:46:54 +01:00
echo $e;
}
return $result;
}
2023-12-18 08:16:21 +01:00
2023-12-07 09:46:54 +01:00
/**
* Updatet einen Datensatz in der Gericht Tabelle.
* @param $id des Datensatzes
* @param $data neue Parameter des Datensatzes
*/
2023-12-18 08:16:21 +01:00
public function updateGericht($id, $data)
{
2023-12-07 09:46:54 +01:00
$pdo = $this->linkDB();
2023-12-14 20:03:29 +01:00
$sql = "UPDATE Gericht SET ";
2023-12-07 09:46:54 +01:00
//Fügt alle Parameter und einen Platzhalter in den SQL Befehl ein
2023-12-18 08:16:21 +01:00
foreach (array_keys($data) as $key) {
$sql .= $key . " = :" . $key . ",";
}
2023-12-07 09:46:54 +01:00
$sql = substr_replace($sql, "", -1) . " WHERE id = :id";
2023-12-18 08:16:21 +01:00
$data["id"] = $id;
try {
2023-12-07 09:46:54 +01:00
$stmt = $pdo->prepare($sql);
$result = $stmt->execute($data);
2023-12-18 08:16:21 +01:00
} catch (\PDOException $e) {
2023-12-07 09:46:54 +01:00
echo $e;
return false;
}
2023-12-18 08:16:21 +01:00
return $result;
2023-12-07 09:46:54 +01:00
}
/**
* Löscht ein Gericht aus der Tabelle
* @param $id des zu löschenden Gerichtes
*/
2023-12-18 08:16:21 +01:00
public function deleteGericht($id)
{
$pdo = $this->linkDB();
$sql = "DELETE FROM Gericht WHERE id = :id";
$params = array();
$params[":id"] = $id;
try {
2023-12-07 09:46:54 +01:00
$stmt = $pdo->prepare($sql);
$result = $stmt->execute($params);
2023-12-18 08:16:21 +01:00
} catch (\PDOException $e) {
2023-12-07 09:46:54 +01:00
echo $e;
return false;
}
2023-12-18 08:16:21 +01:00
return $result;
}
2023-12-07 09:46:54 +01:00
}