M5 A1 6)
This commit is contained in:
46
M5/emensa/models/benutzer.php
Normal file
46
M5/emensa/models/benutzer.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
/**
|
||||
* Diese Datei enthält alle SQL Statements für die Tabelle "benutzer"
|
||||
*/
|
||||
|
||||
function anmelden(string $email, string $passwort)
|
||||
{
|
||||
$link = connectdb();
|
||||
|
||||
$sql = "SELECT * FROM benutzer WHERE (`email` = '$email')";
|
||||
$result = $link->query($sql);
|
||||
$row = $result->fetch_assoc();
|
||||
|
||||
if ($row['passwort'] == NULL) {
|
||||
$row = 0;
|
||||
}
|
||||
elseif ($row['passwort'] == $passwort) {
|
||||
session_start();
|
||||
|
||||
mysqli_begin_transaction($link);
|
||||
$sql = "UPDATE benutzer SET letzteanmeldung = current_time, anzahlfehler = 0 WHERE email = '$email'";
|
||||
$link->query($sql);
|
||||
|
||||
$sql = "UPDATE benutzer SET anzahlanmeldungen = anzahlanmeldungen + 1 WHERE id = ".$row['id'];
|
||||
$link->query($sql);
|
||||
|
||||
mysqli_commit($link);
|
||||
|
||||
$_SESSION['uid'] = session_id();
|
||||
$_SESSION['login'] = 1;
|
||||
$_SESSION['name'] = $row['name'];
|
||||
$_SESSION['email'] = $row['email'];
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
|
||||
mysqli_begin_transaction($link);
|
||||
|
||||
$sql = "UPDATE benutzer SET anzahlfehler = anzahlfehler+1, letzterfehler = current_time WHERE email = '$email'";
|
||||
$link->query($sql);
|
||||
|
||||
mysqli_commit($link);
|
||||
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
27
M5/emensa/models/gericht.php
Normal file
27
M5/emensa/models/gericht.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
/**
|
||||
* Diese Datei enthält alle SQL Statements für die Tabelle "gerichte"
|
||||
*/
|
||||
function db_gericht_select_all() {
|
||||
try {
|
||||
$link = connectdb();
|
||||
|
||||
$sql = 'SELECT id, name, beschreibung FROM gericht ORDER BY name';
|
||||
$result = mysqli_query($link, $sql);
|
||||
|
||||
$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;
|
||||
}
|
||||
|
||||
}
|
||||
74
M5/emensa/models/gerichte_main.php
Normal file
74
M5/emensa/models/gerichte_main.php
Normal file
@@ -0,0 +1,74 @@
|
||||
<?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;
|
||||
}
|
||||
}
|
||||
23
M5/emensa/models/gerichte_self.php
Normal file
23
M5/emensa/models/gerichte_self.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
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);
|
||||
|
||||
$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;
|
||||
}
|
||||
}
|
||||
15
M5/emensa/models/kategorie.php
Normal file
15
M5/emensa/models/kategorie.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
/**
|
||||
* Diese Datei enthält alle SQL Statements für die Tabelle "kategorie"
|
||||
*/
|
||||
function db_kategorie_select_all() {
|
||||
$link = connectdb();
|
||||
|
||||
$sql = "SELECT * FROM kategorie ORDER BY name ASC";
|
||||
$result = mysqli_query($link, $sql);
|
||||
|
||||
$data = mysqli_fetch_all($result, MYSQLI_BOTH);
|
||||
|
||||
mysqli_close($link);
|
||||
return $data;
|
||||
}
|
||||
Reference in New Issue
Block a user