This commit is contained in:
Samuel Wolff 2023-12-18 08:16:21 +01:00
parent 9f7060d202
commit c598e48006
7 changed files with 286 additions and 256 deletions

View File

@ -8,30 +8,34 @@ namespace ppb\Controller;
use ppb\Library\Msg; use ppb\Library\Msg;
use ppb\Model\BenutzerModel; use ppb\Model\BenutzerModel;
class BenutzerController{ class BenutzerController
{
private $db; private $db;
public function __construct(){ public function __construct()
{
$this->db = new BenutzerModel(); $this->db = new BenutzerModel();
} }
// Updated einen Benutzer // Updated einen Benutzer
public function updateBenutzer($elternId, $data){ public function updateBenutzer($elternId, $data)
{
$result = $this->db->updateBenutzer($benutzerId, $data); $result = $this->db->updateBenutzer($elternId, $data);
return json_encode($result); return json_encode($result);
} }
// Fügt einen Benutzer in die Datenbank hinzu // Fügt einen Benutzer in die Datenbank hinzu
public function insertBenutzer($data){ public function insertBenutzer($data)
$result = $this->db->insertBenutzer($data) {
$result = $this->db->insertBenutzer($data);
return json_encode($data); return json_encode($data);
} }
} }
?> ?>

View File

@ -1,20 +1,31 @@
<?php <?php
//Programmiert von: Max Heer, Getestet von: //Programmiert von: Max Heer, Getestet von:
namespace kindergartenverwaltung\Controller; namespace kindergartenverwaltung\Controller;
use kindergartenverwaltung\Libary\Msg; use kindergartenverwaltung\Libary\Msg;
use kindergartenverwaltung\Model\EnthaeltModel; use kindergartenverwaltung\Model\EnthaeltModel;
class EnthaeltController(){ class EnthaeltController
public function getInhaltsstoffe($gerichtId){ {
$result=$this->db->getEnthaelt($gerichtId);
return json_encode($result);
}
public function insertEnthaelt($data){ private $db;
$result=$this->db->insertEnthaelt($data);
return json_encode($result); public function __construct()
} {
$this->db = new EnthaeltModel();
} }
public function getInhaltsstoffe($gerichtId)
{
$result = $this->db->getEnthaelt($gerichtId);
return json_encode($result);
}
public function insertEnthaelt($data)
{
$result = $this->db->insertEnthaelt($data);
return json_encode($result);
}
}
?> ?>

View File

@ -8,38 +8,44 @@ namespace ppb\Controller;
use ppb\Library\Msg; use ppb\Library\Msg;
use ppb\Model\KindModel; use ppb\Model\KindModel;
class KindController{ class KindController
{
private $db; private $db;
public function __construct(){ public function __construct()
{
$this->db = new KindModel(); $this->db = new KindModel();
} }
// $parentId ist standardmäßig auf false und gibt damit alle Kinder aus, // $parentId ist standardmäßig auf false und gibt damit alle Kinder aus,
// das setzen gibt nur Kinder eines bestimmten Benutzerkontos aus. // das setzen gibt nur Kinder eines bestimmten Benutzerkontos aus.
public function getKind($parentId = false){ public function getKind($parentId = false)
{
$result = $this->db->getKind($parentId); $result = $this->db->getKind($parentId);
return json_encode($result); return json_encode($result);
} }
// Updated ein Kind // Updated ein Kind
public function updateKind($kindId, $data){ public function updateKind($kindId, $data)
{
$result = $this->db->updateKind($kindId, $data); $result = $this->db->updateKind($kindId, $data);
return json_encode($result); return json_encode($result);
} }
// Fügt ein Kind hinzu // Fügt ein Kind hinzu
public function addKind($data){ public function addKind($data)
{
$result = $this->db->addKind($data); $result = $this->db->addKind($data);
return json_encode($data); return json_encode($data);
} }
// Löscht ein Kind // Löscht ein Kind
public function deleteKind($kindId){ public function deleteKind($kindId)
{
$result = $this->db->deleteKind($kindId); $result = $this->db->deleteKind($kindId);
return $result; return $result;

View File

@ -6,9 +6,9 @@
namespace ppb\Controller; namespace ppb\Controller;
use ppb\Library\Msg; use ppb\Library\Msg;
use ppb\Model\BenutzerModel;
class BenutzerModel extends Database{ class BenutzerModel extends Database
{
/** /**
@ -19,32 +19,32 @@ class BenutzerModel extends Database{
* @param $data Die gegebenen Daten * @param $data Die gegebenen Daten
* *
*/ */
public function updateBenutzer($elternId, $data){ public function updateBenutzer($elternId, $data)
{
$pdo = $this->linkDB(); $pdo = $this->linkDB();
$params = array(); $params = array();
$sql = "UPDATE Benutzer SET" $sql = "UPDATE Benutzer SET";
foreach($data as $index=>$value){ foreach ($data as $index => $value) {
$sql .= " ".$index." = :".$index; $sql .= " " . $index . " = :" . $index;
$params[":".$index] = $value; $params[":" . $index] = $value;
} }
$sql .= " WHERE id = :benutzerId;"; $sql .= " WHERE id = :benutzerId;";
$params[":benutzerId"] = $kindId; $params[":benutzerId"] = $elternId;
try{ try {
$stmt = $pdo->prepare($sql); $stmt = $pdo->prepare($sql);
$stmt->excute($params); $stmt->excute($params);
} } catch (\PDOException $e) {
catch(\PDOException $e){
return false; return false;
} }
$result = $stmt->fetchALL(\PDO::FETCH_ASSOC); $result = $stmt->fetchALL(\PDO::FETCH_ASSOC);
return $result; return $result;
} }
@ -56,41 +56,41 @@ class BenutzerModel extends Database{
* @param $data Die gegebenen Daten * @param $data Die gegebenen Daten
* *
*/ */
public function insertBenutzer($data){ public function insertBenutzer($data)
{
$pdo = $this->linkDB(); $pdo = $this->linkDB();
$params = array(); $params = array();
$sql = "INSERT INTO Benutzer ("; $sql = "INSERT INTO Benutzer (";
foreach($data as $index=>$value){ foreach ($data as $index => $value) {
$sql .= $index.", "; $sql .= $index . ", ";
$params[":"+$index] = $index; $params[":" + $index] = $index;
} }
$sql = substr($sql, 0, strlen($sql)-2).") VALUES ("; $sql = substr($sql, 0, strlen($sql) - 2) . ") VALUES (";
foreach($data as $value){ foreach ($data as $value) {
$sql .= ":".$value." ,"; $sql .= ":" . $value . " ,";
$params[":"+$value] = $value; $params[":" + $value] = $value;
} }
$sql = substr($sql, 0, strlen($sql)-2).");"; $sql = substr($sql, 0, strlen($sql) - 2) . ");";
try{ try {
$stmt = $pdo->prepare($sql); $stmt = $pdo->prepare($sql);
$stmt->excute($params); $stmt->excute($params);
} } catch (\PDOException $e) {
catch(\PDOException $e){
return false; return false;
} }
$result = $stmt->fetchALL(\PDO::FETCH_ASSOC); $result = $stmt->fetchALL(\PDO::FETCH_ASSOC);
return $result; return $result;
} }
} }
?> ?>

View File

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

View File

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

View File

@ -8,142 +8,143 @@ namespace ppb\Model;
use ppb\Library\Msg; use ppb\Library\Msg;
class KindModel extends Database{ class KindModel extends Database
{
public function getKind($parentId){ public function getKind($parentId)
$pdo = $this->linkDB(); {
$pdo = $this->linkDB();
$params = array(); $params = array();
$sql = "SELECT * FROM Kind"; $sql = "SELECT * FROM Kind";
// Das mitgeben einer Id erlaubt es die Kinder eines bestimmten Benutzerkontos anzeigen zu lassen, // Das mitgeben einer Id erlaubt es die Kinder eines bestimmten Benutzerkontos anzeigen zu lassen,
// während das leerlassen alle Kinder ausgibt. // während das leerlassen alle Kinder ausgibt.
if($parentId !== false){ if ($parentId !== false) {
$sql .= " WHERE bid=:id;"; $sql .= " WHERE bid=:id;";
$params[":id"] = $parentId; $params[":id"] = $parentId;
}
try {
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
} catch (\PDOException $e) {
return false;
}
$result = $stmt->fetchALL(\PDO::FETCH_ASSOC);
return $result;
} }
try{ /**
$stmt = $pdo->prepare($sql); *
$stmt->execute($params); * Updated die Daten eines Kindes
} *
catch(\PDOException $e){ * @param $kindId Id des Kindes
return false; * @param $data Json encoded Daten mit den neuen Werten
*/
public function updateKind($kindId, $data)
{
$pdo = $this->linkDB();
$params = array();
$sql = "UPDATE KIND SET";
// Geht die Json-Daten durch und erweitert den SQL-Query
// und setzt die Bindparameter
// $index -> Spalte die geupdated wird
// $value -> neuer Wert
foreach ($data as $index => $value) {
$sql .= " " . $index . " = :" . $index;
$params[":" . $index] = $value;
}
$sql .= " WHERE id = :kindId;";
$params[":kindId"] = $kindId;
try {
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
} catch (\PDOException $e) {
return false;
}
$result = $stmt->fetchALL(\PDO::FETCH_ASSOC);
return $result;
} }
$result = $stmt->fetchALL(\PDO::FETCH_ASSOC); /**
*
* Fügt ein Kind mit gegebenen Daten in die Datenbank hinzu
*
* @param $data Die Daten für das neue Kind
*/
public function addKind($data)
{
$pdo = $this->linkDB();
return $result; $params = array();
}
/** $sql = "INSERT INTO Kind (";
*
* Updated die Daten eines Kindes
*
* @param $kindId Id des Kindes
* @param $data Json encoded Daten mit den neuen Werten
*/
public function updateKind($kindId, $data){
$pdo = $this->linkDB();
$params = array(); foreach ($data as $index => $value) {
$sql = "UPDATE KIND SET"; $sql .= $index . ", ";
$params[":" + $index] = $index;
}
// Geht die Json-Daten durch und erweitert den SQL-Query $sql = substr($sql, 0, strlen($sql) - 2) . ") VALUES (";
// und setzt die Bindparameter
// $index -> Spalte die geupdated wird foreach ($data as $value) {
// $value -> neuer Wert $sql .= ":" . $value . " ,";
foreach($data as $index=>$value){ $params[":" + $value] = $value;
$sql .= " ".$index." = :".$index; }
$params[":".$index] = $value;
$sql = substr($sql, 0, strlen($sql) - 2) . ");";
try {
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
} catch (\PDOException $e) {
return false;
}
$result = $stmt->fetchALL(\PDO::FETCH_ASSOC);
return $result;
} }
$sql .= " WHERE id = :kindId;"; /**
*
* Löscht ein Kind mit einer gegebenen Id aus der Datenbank
*
* @param $kindId Die Id des zu löschenden Kindes
*
*/
public function deleteKind($kindId)
{
$pdo = $this->linkDB();
$params[":kindId"] = $kindId; $params = array();
try{ $sql = "DELETE FROM Kind WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->excute($params); $params[":id"] = $kindId;
try {
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
} catch (\PDOException $e) {
return false;
}
$result = $stmt->fetchALL(\PDO::FETCH_ASSOC);
return $result;
} }
catch(\PDOException $e){
return false;
}
$result = $stmt->fetchALL(\PDO::FETCH_ASSOC);
return $result;
}
/**
*
* Fügt ein Kind mit gegebenen Daten in die Datenbank hinzu
*
* @param $data Die Daten für das neue Kind
*/
public function addKind($data){
$pdo = $this->linkDB();
$params = array();
$sql = "INSERT INTO Kind (";
foreach($data as $index=>$value){
$sql .= $index.", ";
$params[":"+$index] = $index;
}
$sql = substr($sql, 0, strlen($sql)-2).") VALUES (";
foreach($data as $value){
$sql .= ":".$value." ,";
$params[":"+$value] = $value;
}
$sql = substr($sql, 0, strlen($sql)-2).");";
try{
$stmt = $pdo->prepare($sql);
$stmt->excute($params);
}
catch(\PDOException $e){
return false;
}
$result = $stmt->fetchALL(\PDO::FETCH_ASSOC);
return $result;
}
/**
*
* Löscht ein Kind mit einer gegebenen Id aus der Datenbank
*
* @param $kindId Die Id des zu löschenden Kindes
*
*/
public function deleteKind($kindId){
$pdo = $this->linkDB();
$params = array();
$sql = "DELETE FROM Kind WHERE id = :id";
$params[":id"] = $kindId;
try{
$stmt = $pdo->prepare($sql);
$stmt->excute($params);
}
catch(\PDOException $e){
return false;
}
$result = $stmt->fetchALL(\PDO::FETCH_ASSOC);
return $result;
}
} }