linkDB(); $sql = "SELECT Bestellung.id, Bestellung.istBezahlt, Bestellung.bestelldatum, Bestellung.gesamtpreis, Bestellung.kid FROM Bestellung"; $params = array(); //Ist eine id angegeben wird der Datensatz in der Datenbank gesucht if($id !== false){ $sql .= " INNER JOIN Kind k ON k.id = kid INNER JOIN Benutzerkonto b ON b.id = bid"; $sql .= " WHERE bid = :bid"; $params["bid"] = $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; } }