kurs-app/Model/AdminModel.php
2025-07-04 16:52:46 +02:00

81 lines
2.6 KiB
PHP

<?php
namespace Blog\Model;
use PDOException;
class AdminModel extends Database
{
private function writeNewAddress($values) {
$guid = $this->createUUID();
$sql = "INSERT INTO ort (`id`, `stadt`, `strasse`, `plz`) VALUES (
:guid, :stadt, :strasse, :plz);";
$pdo = $this->linkDB();
try {
$sth = $pdo->prepare($sql);
$sth->execute(array(":guid" => $guid,
":stadt" => $values["stadt"],
":strasse" => $values["strasse"],
":plz" => $values["plz"],
));
return $guid;
} catch (PDOException $e) {
new \Blog\Library\ErrorMsg("Fehler beim Schreiben der Daten.", $e);
die;
}
}
public function writeNewCourse($values, $kursleiterId)
{
// Bleibt übrig wenn Adresse erstellt wird aber Kurs nicht weil Error
$addressId = $this->writeNewAddress($values);
$guid = $this->createUUID();
$sql = "INSERT INTO kurs (`id`, `name`, `preis`, `dauer`, `rabatt`, `kategorie`, `beschreibung`, `kurseleiter`, `ort_id`) VALUES (
:guid, :name, :preis, :dauer, :rabatt, :kategorie, :beschreibung, :kurseleiter, :ort_id);";
$pdo = $this->linkDB();
try {
$sth = $pdo->prepare($sql);
$sth->execute(array(":guid" => $guid,
":name" => $values["name"],
":preis" => $values["preis"],
":dauer" => $values["dauer"],
":rabatt" => $values["rabatt"],
":kategorie" => $values["kategorie"],
":beschreibung" => $values["beschreibung"],
":kurseleiter" => $kursleiterId,
"ort_id" => $addressId
));
} catch (PDOException $e) {
new \Blog\Library\ErrorMsg("Fehler beim Schreiben der Daten.", $e);
die;
}
return true;
}
public function getMyCourses() {
$sql = "SELECT k.id, k.name, k.preis, k.dauer, k.rabatt, k.kategorie, k.beschreibung, o.stadt, o.strasse, o.plz, b.note, b.kommentar
FROM kurs AS k
JOIN ort AS o ON o.id = k.ort_id
LEFT JOIN bewertungen AS b ON b.kurs_id = k.id
ORDER BY k.name;";
$pdo = $this->linkDB();
try {
$sth = $pdo->prepare($sql);
$sth->execute();
return $sth->fetchAll(\PDO::FETCH_ASSOC);
} catch (PDOException $e) {
new \Blog\Library\ErrorMsg("Fehler beim Lesen der Daten.", $e);
die;
}
}
}