151 lines
3.2 KiB
PHP
151 lines
3.2 KiB
PHP
<?php
|
|
|
|
// Programmiert durch Samuel Wolff
|
|
// Getestet durch: Samuel Wolff
|
|
|
|
namespace ppb\Model;
|
|
|
|
use ppb\Library\Msg;
|
|
|
|
|
|
class KindModel extends Database
|
|
{
|
|
|
|
public function getKind($parentId)
|
|
{
|
|
$pdo = $this->linkDB();
|
|
|
|
$params = array();
|
|
$sql = "SELECT * FROM Kind";
|
|
|
|
|
|
// Das mitgeben einer Id erlaubt es die Kinder eines bestimmten Benutzerkontos anzeigen zu lassen,
|
|
// während das leerlassen alle Kinder ausgibt.
|
|
if ($parentId !== false) {
|
|
$sql .= " WHERE bid=:id;";
|
|
$params[":id"] = $parentId;
|
|
}
|
|
|
|
try {
|
|
$stmt = $pdo->prepare($sql);
|
|
$stmt->execute($params);
|
|
} catch (\PDOException $e) {
|
|
return false;
|
|
}
|
|
|
|
$result = $stmt->fetchALL(\PDO::FETCH_ASSOC);
|
|
|
|
return $result;
|
|
}
|
|
|
|
/**
|
|
*
|
|
* 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();
|
|
$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;
|
|
}
|
|
|
|
/**
|
|
*
|
|
* 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 . ", ";
|
|
}
|
|
|
|
$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->execute($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->execute($params);
|
|
} catch (\PDOException $e) {
|
|
return false;
|
|
}
|
|
|
|
$result = $stmt->fetchALL(\PDO::FETCH_ASSOC);
|
|
|
|
return $result;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
?>
|