summaryrefslogtreecommitdiff
path: root/api_cocktails.php
diff options
context:
space:
mode:
Diffstat (limited to 'api_cocktails.php')
-rw-r--r--api_cocktails.php44
1 files changed, 44 insertions, 0 deletions
diff --git a/api_cocktails.php b/api_cocktails.php
new file mode 100644
index 0000000..3ccde2b
--- /dev/null
+++ b/api_cocktails.php
@@ -0,0 +1,44 @@
+<?php
+header('Content-Type: application/json; charset=utf8mb4');
+require 'db_config.php';
+
+$stmt = $pdo->query("
+ SELECT
+ c.*,
+ z.menge_ml, z.menge_anteil, z.einheit, z.original_text,
+ z.zutat, z.zutat_de, z.kategorie, z.id as zutat_id
+ FROM cocktails c
+ LEFT JOIN zutaten z ON c.id = z.cocktail_id
+ WHERE hide = 0
+ ORDER BY c.seite, c.name, z.menge_ml DESC, z.id ASC
+");
+
+$cocktails = [];
+$currentCocktail = null;
+
+foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
+ $cocktailId = $row['id'];
+
+ if ($currentCocktail !== $cocktailId) {
+ $currentCocktail = $cocktailId;
+ $row['zutaten'] = [];
+ $cocktails[] = $row;
+ }
+
+ // Zutat zu aktuellem Cocktail hinzufügen
+ if (!empty($row['zutat_id'])) {
+ $zutat = [
+ 'menge_ml' => $row['menge_ml'],
+ 'menge_anteil' => $row['menge_anteil'],
+ 'einheit' => $row['einheit'],
+ 'original_text' => $row['original_text'],
+ 'zutat' => $row['zutat'],
+ 'zutat_de' => $row['zutat_de'],
+ 'kategorie' => $row['kategorie'],
+ 'id' => $row['zutat_id']
+ ];
+ $cocktails[array_key_last($cocktails)]['zutaten'][] = $zutat;
+ }
+}
+
+echo json_encode($cocktails);