152 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			152 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
// Programmiert durch Samuel Wolff
 | 
						|
// Getestet durch: Nicht getestet
 | 
						|
 | 
						|
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 . ", ";
 | 
						|
            $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->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;
 | 
						|
    }
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
?>
 |