84 lines
2.9 KiB
PHP
84 lines
2.9 KiB
PHP
<?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, ',', '.');
|
|
|
|
//Bildname
|
|
|
|
$bildname = $row_gerichte['bildname'];
|
|
|
|
if($bildname == Null){
|
|
$bildname = "00_image_missing.jpg";
|
|
}
|
|
|
|
$bildname = "/img/gerichte/" . $bildname;
|
|
|
|
// 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> <img src=\"".$bildname ."\" alt =\"Bild vom Gericht\" width= \"10\" height=\"10\"> </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;
|
|
}
|
|
} |