-
Notifications
You must be signed in to change notification settings - Fork 0
/
Detail.php
136 lines (95 loc) · 4.21 KB
/
Detail.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php
require "vendor/autoload.php";
/*
* BladeOne Viewengine aufsetzen
*/
//notwendiges für datenbankaufbau
if (!isset($_SESSION)) session_start();
require __DIR__ . '/vendor/autoload.php';
$dotenv = Dotenv\Dotenv::create(__DIR__, '.env');
$dotenv->load();
$dotenv->required(['DB_HOST', 'DB_NAME', 'DB_USER', 'DB_PASS', 'DB_PORT']);
use eftec\bladeone\BladeOne;
$views = __DIR__ . '/views';
$cache = __DIR__ . '/cache';
$blade = new BladeOne($views,$cache,BladeOne::MODE_AUTO);
/*
* Daten vorbereiten (das sind später die Models),
* d.h. die Queries an die DB senden und in Arrays
* oder Objekten speichern, damit sie an die Views
* übergeben werden können
*/
$übergebeneID = -1;
if (isset($_GET["id"])) {
$übergebeneID = $_GET["id"];
}
//query stellen
$query = 'SELECT Mahlzeiten.`Name`, Mahlzeiten.ID, Beschreibung, Vorrat,
Kategorie, hatBilder.MahlzeitenID,Jahr, Gastpreis,
Studentpreis,
`MA-Preis`, BilderID, `Alt-Text`, `Binärdaten`, Titel, ZutatenID ,Zutaten.Name AS Zutatenname
FROM Mahlzeiten
left JOIN Preise ON Mahlzeiten.id=Preise.MahlzeitenID
left join hatBilder on Mahlzeiten.ID = hatBilder.MahlzeitenID
left JOIN Bilder ON hatBilder.BilderID = Bilder.ID
left Join enthältZutaten on Mahlzeiten.ID=enthältZutaten.MahlzeitenID
left Join Zutaten on enthältZutaten.ZutatenID=Zutaten.ID
WHERE Mahlzeiten.id=' . $übergebeneID . ';'; // Ihre SQL Query aus HeidiSQL
$link = mysqli_connect(getenv('DB_HOST'), getenv('DB_USER'), getenv('DB_PASS'), getenv('DB_NAME'), getenv('DB_PORT'));
if (mysqli_connect_errno()) {
printf("Konnte nicht zur entfernten Datenbank verbinden: %s\n", mysqli_connect_error());
exit();
}
$result = mysqli_query($link, $query);
$result2 = mysqli_query($link, $query);
//gucken ob id gesetzt ist
$row = mysqli_fetch_assoc($result);
//$title = "Views Demo";
$zutatenrows=array();
while ($row2 = mysqli_fetch_assoc($result2)) {
if (isset($row2['Zutatenname'])) {
$zutatenrows[]=$row2;
}
}
mysqli_close($link);
$defs = array();
array_push($defs,array("label" => "PRIMARY KEY", "term" => "Primärschlüssel"));
array_push($defs,array("label" => "KEY", "term" => "Sekundärschlüssel"));
array_push($defs,array("label" => "UNIQUE", "term" => "Eindeutigkeitsbedingung"));
array_push($defs,array("label" => "FOREIGN KEY", "term" => "Fremdschlüssel"));
$media = array();
array_push($media,"https://images.unsplash.com/photo-1573641287741-f6e223d81a0f?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjExMDk0fQ&auto=format&fit=crop&w=1050&q=80");
array_push($media,"https://images.unsplash.com/photo-1572315831029-5d6f20e0035d?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1050&q=80");
array_push($media,"https://images.unsplash.com/photo-1569271836752-ed9351b75521?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1050&q=80");
$labels = array();
array_push($labels, "Mitchell Luo @mitchel3uo");
array_push($labels, "Raul Angel @raulangel");
array_push($labels, "Stéphane Mingot @smingot");
/*
* Wenn die Daten vorbereitet sind, können Sie mit dem HTML Output
* beginnen. Alle Daten liegen schon vor, d.h. keine DB-Zugriffe mehr
*/
//echo "<!DOCTYPE html>
//<html lang='de'>
// <head>
// <title>$title</title>
//";
//echo $blade->run("static.css"); // statisches HTML Fragment aus dem Ordner views/static/ namens css.blade.php (lesen Sie aber auch zu den Möglichkeiten von View Layouts!)
//echo" </head>
// <body>
/// <div class='container'>
// <div class='row'>
// <header class='col'>
// <p>Hier könnte Ihre Webseite existieren</p>
// </header>
// </div>";
//echo $blade->run("deflist",array("defs"=>$defs,"headline" => "Defnitionen")); // übergibt das $defs Array als Variable defs an die View views/deflist.blade.php
//echo $blade->run("fragment"); // weiteres statisches HTML Fragment, das Sie vielleicht einbinden möchten
//echo $blade->run("gallerie",array("media"=>$media,"labels"=>$labels,"caption"=>$caption));
//echo "<footer><p>Sie sehen, mit der View-Engine können Sie jede Menge Code auslagern und in den dedizierten Views eine spezialisierte Syntax verwenden.</p></footer>";
echo $blade->run("pages.detail",array("result"=>$result,"row"=>$row,'zutatenrows'=>$zutatenrows,"session"=>$_SESSION));
//
//echo "
// </div>
// </body>
//</html>";