From a8c1cc894804da92147d5a8da70d52ef6ee2cf57 Mon Sep 17 00:00:00 2001 From: kknobloch Date: Sun, 9 Nov 2025 16:13:06 +0100 Subject: [PATCH] Bestellungen - Teil 1 --- config/config.php | 5 ++- src/controller/MainController.php | 15 +++++++ src/model/BestellungModel.php | 46 +++++++++++++++++++ src/view/bestellung_edit.php | 66 ++++++++++++++++++++++++++++ src/view/bestellungen.php | 73 +++++++++++++++++++++++++++++++ src/view/templates/header.php | 2 + web/phpinfo.php | 4 ++ 7 files changed, 209 insertions(+), 2 deletions(-) create mode 100644 src/model/BestellungModel.php create mode 100644 src/view/bestellung_edit.php create mode 100644 src/view/bestellungen.php create mode 100644 web/phpinfo.php diff --git a/config/config.php b/config/config.php index 991b5cc..93d0f78 100644 --- a/config/config.php +++ b/config/config.php @@ -1,5 +1,7 @@ '127.0.0.1', 'dbname' => 'vwl', @@ -7,7 +9,7 @@ return [ 'password' => '', 'charset' => 'utf8mb4' ]; -/* +*/ return [ 'host' => '148.251.96.181', 'dbname' => 'c1vwl', @@ -15,4 +17,3 @@ return [ 'password' => 'SommerNacht!2025', 'charset' => 'utf8mb4' ]; -*/ \ No newline at end of file diff --git a/src/controller/MainController.php b/src/controller/MainController.php index c7f89a2..90409de 100644 --- a/src/controller/MainController.php +++ b/src/controller/MainController.php @@ -22,4 +22,19 @@ class MainController { require '../src/view/hotel_edit.php'; require '../src/view/templates/footer.php'; } + + public function bestellungen() { + $pageTitle = "Bestellungen"; + require '../src/view/templates/header.php'; + require '../src/view/bestellungen.php'; + require '../src/view/templates/footer.php'; + } + + public function bestellung_edit() { + $pageTitle = "Bestellungen"; + require '../src/view/templates/header.php'; + require '../src/view/bestellung_edit.php'; + require '../src/view/templates/footer.php'; + } + } diff --git a/src/model/BestellungModel.php b/src/model/BestellungModel.php new file mode 100644 index 0000000..d8a68c3 --- /dev/null +++ b/src/model/BestellungModel.php @@ -0,0 +1,46 @@ +db = Database::connect(); + } + + public function getBestellungById($id) { + $stmt = $this->db->prepare("SELECT * FROM vwl_bestellung WHERE id = ?"); + $stmt->execute([$id]); + return $stmt->fetch(); + } + + public function updateBestellung($data) { + + $fieldsToUpdate = array_intersect_key($data, array_flip($this->allowedFields)); + if (empty($fieldsToUpdate)) { + return false; + } + + // Baue SQL-Statement + $setParts = []; + foreach ($fieldsToUpdate as $field => $value) { + $setParts[] = "`$field` = :$field"; + } + $sql = "UPDATE vwl_hotel SET " . implode(', ', $setParts) . " WHERE id = :id"; + + $stmt = $this->db->prepare($sql); + + // Bind-Werte + $fieldsToUpdate['id'] = $data['id']; + return $stmt->execute($fieldsToUpdate); + } + +} diff --git a/src/view/bestellung_edit.php b/src/view/bestellung_edit.php new file mode 100644 index 0000000..cfadd4a --- /dev/null +++ b/src/view/bestellung_edit.php @@ -0,0 +1,66 @@ +updateBestellung($data); + + if ($success) { + $message = '
✅ Daten erfolgreich gespeichert.
'; + } else { + $message = '
❌ Fehler beim Speichern der Daten.
'; + } +} + +// Daten neu laden nach dem Speichern (oder beim ersten Aufruf) +$bestellung = $bestellungModel->getBestellungById($bestellungId); +?> +

Bestellung:

+ +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
Kunde
+
+
+ +
Gutschein
+
+ +
Positionen
+
+
+
+ + + + diff --git a/src/view/bestellungen.php b/src/view/bestellungen.php new file mode 100644 index 0000000..c4be112 --- /dev/null +++ b/src/view/bestellungen.php @@ -0,0 +1,73 @@ +query("SELECT id, ordernumber, bestellung_status, zahlung_status, gutschein_status, datum FROM vwl_bestellung ORDER BY ordernumber"); +$bestellungen = $stmt->fetchAll(); +?> + +

Bestellungen

+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ Bestellnummer + + DatumStatusZahlungGutschein
format('d.m.Y') : '' ?>
+
+ + diff --git a/src/view/templates/header.php b/src/view/templates/header.php index 32b1cf1..1c081ee 100644 --- a/src/view/templates/header.php +++ b/src/view/templates/header.php @@ -55,6 +55,7 @@ $username = $_SESSION['user'] ?? 'Gast'; 'home' => 'Home', 'gutscheinsuche' => 'Gutscheinsuche', 'hotels' => 'Hotels', + 'bestellungen' => 'Bestellungen', 'rechnungen' => 'Rechnungen', 'partner' => 'Partner', 'auswertungen' => 'Auswertungen', @@ -67,6 +68,7 @@ $username = $_SESSION['user'] ?? 'Gast'; 'home' => 'bi-house', 'gutscheinsuche' => 'bi-search', 'hotels' => 'bi-building', + 'bestellungen' => 'bi-cart4', 'rechnungen' => 'bi-file-earmark-text', 'partner' => 'bi-people', 'auswertungen' => 'bi-graph-up', diff --git a/web/phpinfo.php b/web/phpinfo.php new file mode 100644 index 0000000..e8f996e --- /dev/null +++ b/web/phpinfo.php @@ -0,0 +1,4 @@ +