GerichtUndBestellungKaumGetestet #3

Merged
PBG2H22AWO merged 1 commits from sven into main 2023-12-07 09:49:04 +01:00
4 changed files with 290 additions and 0 deletions
Showing only changes of commit ac22e2fca4 - Show all commits

View File

@ -0,0 +1,44 @@
<?php
//Programmierung: Sven Alteköster 100%
//Getestet durch:
namespace ppb\Controller;
use ppb\Library\Msg;
use ppb\Model\GerichtModel;
class BestellungController {
private $db;
public function __construct() {
$this->db = new BestellungModel();
}
public function getBestellung($id=false) {
$result=$this->db->selectBestellung($id);
if($id !== false){
if($result)
$result=$result[0];
else
$result=false;
}
return json_encode($result);
}
public function writeBestellung($data){
$result=$this->db->insertGericht($data);
return json_encode($result);
}
public function updateBestellung($id, $data){
$result=$this->db->updateBestellung($id, $data);
return json_encode($result);
}
public function deleteBestellung($id){
$result=$this->db->deleteBestellung($id);
return json_encode($result);
}
}

View File

@ -0,0 +1,44 @@
<?php
//Programmierung: Sven Alteköster 100%
//Getestet durch:
namespace ppb\Controller;
use ppb\Library\Msg;
use ppb\Model\GerichtModel;
class GerichtController {
private $db;
public function __construct() {
$this->db = new GerichtModel();
}
public function getGericht($id=false) {
$result=$this->db->selectGericht($id);
if($id !== false){
if($result)
$result=$result[0];
else
$result=false;
}
return json_encode($result);
}
public function writeGericht($data){
$result=$this->db->insertGericht($data);
return json_encode($result);
}
public function updateGericht($id, $data){
$result=$this->db->updateGericht($id, $data);
return json_encode($result);
}
public function deleteGericht($id){
$result=$this->db->deleteGericht($id);
return json_encode($result);
}
}

101
Model/BestellungModel.php Normal file
View File

@ -0,0 +1,101 @@
<?php
namespace ppb\Model;
use ppb\Library\Msg;
class BestellungModel extends Database {
/**
* Sucht die Bestellung 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
*/
public function selectBestellung($id = false) {
$pdo = $this -> linkDB();
$sql = "SELECT * FROM Bestellung";
$params = array();
//Ist eine id angegeben wird der Datensatz in der Datenbank gesucht
if($id !== false){
$sql .= " WHERE id = :id";
$params["id"] = $id;
}
//Ausführen des SQL befehls
try {
$stmt = $pdo -> prepare($sql);
$stmt -> execute($params);
}
catch(\PDOException $e) {
echo $e;
return false;
}
$result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
//Die Datensätze werden nummeriert
foreach($result as $key=>$row){
$result[$key]["id"]+=0;
}
return $result;
}
/**
* Fügt ein Bestellung in die Datenbank ein.
* @param $data gibt die Attribute des Datensatzes an.
*/
public function insertBestellung($data) {
$pdo = $this -> linkDB();
$sql = "INSERT INTO Bestellung (" . implode(",", array_keys($data)) . ") VALUES(:" . implode(",:", array_keys($data)) . ")";
try{
$stmt = $pdo->prepare($sql);
$result = $stmt->execute($data);
}catch (\PDOExpecion $e) {
echo $e;
}
return $result;
}
/**
* Updatet einen Datensatz in der Bestellung Tabelle.
* @param $id des Datensatzes
* @param $data neue Parameter des Datensatzes
*/
public function updateBestellung($id, $data){
$pdo = $this->linkDB();
$sql = "UPDATE Bestellung SET "
//Fügt alle Parameter und einen Platzhalter in den SQL Befehl ein
foreach (array_keys($data) as $key){
$sql .= $key . " = :" . $key. ",";
}
$sql = substr_replace($sql, "", -1) . " WHERE id = :id";
$data["id"] = $id;
try{
$stmt = $pdo->prepare($sql);
$result = $stmt->execute($data);
}catch (\PDOExpection $e){
echo $e;
return false;
}
return $result;
}
/**
* Löscht ein Bestellung aus der Tabelle
* @param $id des zu löschenden Bestellung
*/
public function deleteBestellung($id){
$pdo = $this->linkDB();
$sql = "DELETE FROM Bestellung WHERE id = :id";
$params = array();
$params[":id"] = $id;
try{
$stmt = $pdo->prepare($sql);
$result = $stmt->execute($params);
}catch (\PDOExpection $e){
echo $e;
return false;
}
return $result;
}
}

101
Model/GerichtModel.php Normal file
View File

@ -0,0 +1,101 @@
<?php
namespace ppb\Model;
use ppb\Library\Msg;
class GerichtModel extends Database {
/**
* 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
*/
public function selectGericht($id = false) {
$pdo = $this -> linkDB();
$sql = "SELECT * FROM Gericht";
$params = array();
//Ist eine id angegeben wird der Datensatz in der Datenbank gesucht
if($id !== false){
$sql .= " WHERE id = :id";
$params["id"] = $id;
}
//Ausführen des SQL befehls
try {
$stmt = $pdo -> prepare($sql);
$stmt -> execute($params);
}
catch(\PDOException $e) {
echo $e;
return false;
}
$result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
//Die Datensätze werden nummeriert
foreach($result as $key=>$row){
$result[$key]["id"]+=0;
}
return $result;
}
/**
* Fügt ein Gericht in die Datenbank ein.
* @param $data gibt die Attribute des Datensatzes an.
*/
public function insertGericht($data) {
$pdo = $this -> linkDB();
$sql = "INSERT INTO Gericht (" . implode(",", array_keys($data)) . ") VALUES(:" . implode(",:", array_keys($data)) . ")";
try{
$stmt = $pdo->prepare($sql);
$result = $stmt->execute($data);
}catch (\PDOExpecion $e) {
echo $e;
}
return $result;
}
/**
* Updatet einen Datensatz in der Gericht Tabelle.
* @param $id des Datensatzes
* @param $data neue Parameter des Datensatzes
*/
public function updateGericht($id, $data){
$pdo = $this->linkDB();
$sql = "UPDATE Gericht SET "
//Fügt alle Parameter und einen Platzhalter in den SQL Befehl ein
foreach (array_keys($data) as $key){
$sql .= $key . " = :" . $key. ",";
}
$sql = substr_replace($sql, "", -1) . " WHERE id = :id";
$data["id"] = $id;
try{
$stmt = $pdo->prepare($sql);
$result = $stmt->execute($data);
}catch (\PDOExpection $e){
echo $e;
return false;
}
return $result;
}
/**
* Löscht ein Gericht aus der Tabelle
* @param $id des zu löschenden Gerichtes
*/
public function deleteGericht($id){
$pdo = $this->linkDB();
$sql = "DELETE FROM Gericht WHERE id = :id";
$params = array();
$params[":id"] = $id;
try{
$stmt = $pdo->prepare($sql);
$result = $stmt->execute($params);
}catch (\PDOExpection $e){
echo $e;
return false;
}
return $result;
}
}