Fertig M4

This commit is contained in:
Robert
2023-12-08 18:42:04 +01:00
parent 070945c4a5
commit 96079ebc6d
14 changed files with 424 additions and 56 deletions

View File

@@ -0,0 +1,75 @@
<?php
function db_gericht_select_karte()
{
try {
$link = connectdb();
$sql_gerichte = "SELECT * FROM gericht ORDER BY RAND() LIMIT 5";
$result_sql_gerichte = mysqli_query($link, $sql_gerichte);
$tabelle = "<table class=\"speisen\"><tr class=\"speisen\"> <td>Gerichte</td><td>Preis intern</td><td>Preis extern</td><td>Bild</td></tr>";
$verwendete_allergene_code = [];
$verwendete_allergene_string = "";
while ($row_gerichte = mysqli_fetch_assoc($result_sql_gerichte)) {
// Abfrage der vorhandenen Allergene im aktuellen Gericht
$sql_gericht_hat_allergene = "SELECT * FROM gericht_hat_allergen WHERE gericht_id=" . $row_gerichte['id'];
$result_sql_gericht_hat_allergene = mysqli_query($link, $sql_gericht_hat_allergene);
$allergene = "";
while ($row_allergene = mysqli_fetch_assoc($result_sql_gericht_hat_allergene)) {
$allergene .= $row_allergene['code'] . ", ";
if (!in_array($row_allergene['code'], $verwendete_allergene_code)) {
$verwendete_allergene_code[] = $row_allergene['code'];
}
}
// Preise in EUR
$preisintern = number_format($row_gerichte['preisintern'], 2, ',', '.');
$preisextern = number_format($row_gerichte['preisextern'], 2, ',', '.');
// Ausgabe des aktuellen Gerichts
$tabelle .= "<tr class=\"speisen\"><td>" . htmlspecialchars($row_gerichte['name']) . " <sup>" . htmlspecialchars($allergene) . "</sup></td><td>" . htmlspecialchars($preisintern) . "€</td><td>" . htmlspecialchars($preisextern) . "€</td><td>Kein Bild in der Datenbank </td></tr>";
}
$tabelle .= "</table>";
// Abfrage der Allergen Code und Name
$sql_allergen = "SELECT code, name FROM allergen";
$result_sql_allergen = mysqli_query($link, $sql_allergen);
while ($row_allergen = mysqli_fetch_assoc($result_sql_allergen)){
if (in_array($row_allergen['code'], $verwendete_allergene_code)){
$verwendete_allergene_string .= "<sup>". htmlspecialchars($row_allergen['code']) ."</sup> ". htmlspecialchars($row_allergen['name']) . ", ";
}
}
$data = [
"gericht" => $tabelle,
"allergene" => $verwendete_allergene_string
];
mysqli_close($link);
} catch (Exception $ex) {
$data = array(
'id' => '-1',
'error' => true,
'name' => 'Datenbankfehler ' . $ex->getCode(),
'beschreibung' => $ex->getMessage());
} finally {
return $data;
}
}

View File

@@ -1,27 +1,23 @@
<?php
/**
* Diese Datei enthält alle SQL Statements für die Tabelle "gerichte"
*/
function db_gericht_select_intern() {
try {
$link = connectdb();
$sql = 'SELECT name, preisintern FROM gericht WHERE preisintern > 2 ORDER BY name DESC';
$result = mysqli_query($link, $sql);
function db_gericht_select_intern()
{
try {
$link = connectdb();
$data = mysqli_fetch_all($result, MYSQLI_BOTH);
$sql = 'SELECT name, preisintern FROM gericht WHERE preisintern > 2 ORDER BY name DESC';
$result = mysqli_query($link, $sql);
mysqli_close($link);
}
catch (Exception $ex) {
$data = array(
'id'=>'-1',
'error'=>true,
'name' => 'Datenbankfehler '.$ex->getCode(),
'beschreibung' => $ex->getMessage());
}
finally {
return $data;
}
$data = mysqli_fetch_all($result, MYSQLI_BOTH);
mysqli_close($link);
} catch (Exception $ex) {
$data = array(
'id' => '-1',
'error' => true,
'name' => 'Datenbankfehler ' . $ex->getCode(),
'beschreibung' => $ex->getMessage());
} finally {
return $data;
}
}