Aufgabe 2

This commit is contained in:
Robert
2023-12-21 13:51:10 +01:00
parent b6100b2ab6
commit 5fe2a22f9a
9 changed files with 273 additions and 59 deletions

View File

@@ -1365,8 +1365,8 @@
<CollationName>utf8mb3_general_ci</CollationName>
</schema>
<schema id="512" parent="1" name="emensawerbeseite">
<IntrospectionTimestamp>2023-11-24.21:00:41</IntrospectionTimestamp>
<LocalIntrospectionTimestamp>2023-11-24.19:00:41</LocalIntrospectionTimestamp>
<IntrospectionTimestamp>2023-12-21.12:39:09</IntrospectionTimestamp>
<LocalIntrospectionTimestamp>2023-12-21.10:39:09</LocalIntrospectionTimestamp>
<CollationName>latin1_swedish_ci</CollationName>
</schema>
<user id="513" parent="1" name="mariadb.sys">
@@ -1493,112 +1493,116 @@
<NotNull>1</NotNull>
<Position>8</Position>
</column>
<index id="541" parent="520" name="PRIMARY">
<column id="541" parent="520" name="bildname">
<DasType>varchar(200)|0s</DasType>
<Position>9</Position>
</column>
<index id="542" parent="520" name="PRIMARY">
<ColNames>id</ColNames>
<Type>btree</Type>
<Unique>1</Unique>
</index>
<index id="542" parent="520" name="name">
<index id="543" parent="520" name="name">
<ColNames>name</ColNames>
<Type>btree</Type>
<Unique>1</Unique>
</index>
<key id="543" parent="520" name="PRIMARY">
<key id="544" parent="520" name="PRIMARY">
<NameSurrogate>1</NameSurrogate>
<Primary>1</Primary>
<UnderlyingIndexName>PRIMARY</UnderlyingIndexName>
</key>
<key id="544" parent="520" name="name">
<key id="545" parent="520" name="name">
<UnderlyingIndexName>name</UnderlyingIndexName>
</key>
<column id="545" parent="521" name="code">
<column id="546" parent="521" name="code">
<DasType>char(4)|0s</DasType>
<Position>1</Position>
</column>
<column id="546" parent="521" name="gericht_id">
<column id="547" parent="521" name="gericht_id">
<DasType>bigint(20)|0s</DasType>
<NotNull>1</NotNull>
<Position>2</Position>
</column>
<foreign-key id="547" parent="521" name="gericht_hat_allergen_ibfk_1">
<foreign-key id="548" parent="521" name="gericht_hat_allergen_ibfk_1">
<ColNames>code</ColNames>
<RefColNames>code</RefColNames>
<RefTableName>allergen</RefTableName>
</foreign-key>
<foreign-key id="548" parent="521" name="gericht_hat_allergen_ibfk_2">
<foreign-key id="549" parent="521" name="gericht_hat_allergen_ibfk_2">
<ColNames>gericht_id</ColNames>
<RefColNames>id</RefColNames>
<RefTableName>gericht</RefTableName>
</foreign-key>
<index id="549" parent="521" name="code">
<index id="550" parent="521" name="code">
<ColNames>code</ColNames>
<Type>btree</Type>
</index>
<index id="550" parent="521" name="gericht_id">
<index id="551" parent="521" name="gericht_id">
<ColNames>gericht_id</ColNames>
<Type>btree</Type>
</index>
<column id="551" parent="522" name="gericht_id">
<column id="552" parent="522" name="gericht_id">
<DasType>bigint(20)|0s</DasType>
<NotNull>1</NotNull>
<Position>1</Position>
</column>
<column id="552" parent="522" name="kategorie_id">
<column id="553" parent="522" name="kategorie_id">
<DasType>bigint(20)|0s</DasType>
<NotNull>1</NotNull>
<Position>2</Position>
</column>
<foreign-key id="553" parent="522" name="gericht_hat_kategorie_ibfk_1">
<foreign-key id="554" parent="522" name="gericht_hat_kategorie_ibfk_1">
<ColNames>gericht_id</ColNames>
<RefColNames>id</RefColNames>
<RefTableName>gericht</RefTableName>
</foreign-key>
<foreign-key id="554" parent="522" name="gericht_hat_kategorie_ibfk_2">
<foreign-key id="555" parent="522" name="gericht_hat_kategorie_ibfk_2">
<ColNames>kategorie_id</ColNames>
<RefColNames>id</RefColNames>
<RefTableName>kategorie</RefTableName>
</foreign-key>
<index id="555" parent="522" name="gericht_id">
<index id="556" parent="522" name="gericht_id">
<ColNames>gericht_id</ColNames>
<Type>btree</Type>
</index>
<index id="556" parent="522" name="kategorie_id">
<index id="557" parent="522" name="kategorie_id">
<ColNames>kategorie_id</ColNames>
<Type>btree</Type>
</index>
<column id="557" parent="523" name="id">
<column id="558" parent="523" name="id">
<DasType>bigint(20)|0s</DasType>
<NotNull>1</NotNull>
<Position>1</Position>
</column>
<column id="558" parent="523" name="name">
<column id="559" parent="523" name="name">
<DasType>varchar(80)|0s</DasType>
<NotNull>1</NotNull>
<Position>2</Position>
</column>
<column id="559" parent="523" name="eltern_id">
<column id="560" parent="523" name="eltern_id">
<DasType>bigint(20)|0s</DasType>
<Position>3</Position>
</column>
<column id="560" parent="523" name="bildname">
<column id="561" parent="523" name="bildname">
<DasType>varchar(200)|0s</DasType>
<Position>4</Position>
</column>
<foreign-key id="561" parent="523" name="kategorie_ibfk_1">
<foreign-key id="562" parent="523" name="kategorie_ibfk_1">
<ColNames>eltern_id</ColNames>
<RefColNames>id</RefColNames>
<RefTableName>kategorie</RefTableName>
</foreign-key>
<index id="562" parent="523" name="PRIMARY">
<index id="563" parent="523" name="PRIMARY">
<ColNames>id</ColNames>
<Type>btree</Type>
<Unique>1</Unique>
</index>
<index id="563" parent="523" name="eltern_id">
<index id="564" parent="523" name="eltern_id">
<ColNames>eltern_id</ColNames>
<Type>btree</Type>
</index>
<key id="564" parent="523" name="PRIMARY">
<key id="565" parent="523" name="PRIMARY">
<NameSurrogate>1</NameSurrogate>
<Primary>1</Primary>
<UnderlyingIndexName>PRIMARY</UnderlyingIndexName>

View File

@@ -1,2 +1,2 @@
#n:emensawerbeseite
!<md> [1700856041000, 0, null, null, -2147483648, -2147483648]
!<md> [1703158749000, 0, null, null, -2147483648, -2147483648]

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
<changelist name="Uncommitted_changes_before_Checkout_at_21_12_2023_11_23_[Changes]" date="1703154212231" recycled="true" deleted="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Checkout_at_21_12_2023_11_23_[Changes]/shelved.patch" />
<option name="DESCRIPTION" value="Uncommitted changes before Checkout at 21.12.2023 11:23 [Changes]" />
</changelist>

57
.idea/workspace.xml generated
View File

@@ -5,18 +5,12 @@
</component>
<component name="ChangeListManager">
<list default="true" id="6dcbe3e4-9d68-41d8-8c39-5cfbe5cd4a21" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/M4/emensa/controllers/MainController.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/M4/emensa/models/gerichte_main.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/M4/emensa/public/css/style.css" afterDir="false" />
<change afterPath="$PROJECT_DIR$/M4/emensa/public/img/fh-logo.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/M4/emensa/public/img/mensa21.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/M4/emensa/views/layouts/main_layout.blade.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/M4/emensa/views/main/index.blade.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/a1d1df29-b94a-4ad6-bd6f-a458b97a6c0c.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/a1d1df29-b94a-4ad6-bd6f-a458b97a6c0c.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/a1d1df29-b94a-4ad6-bd6f-a458b97a6c0c/storage_v2/_src_/schema/emensawerbeseite.YLWk-w.meta" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/a1d1df29-b94a-4ad6-bd6f-a458b97a6c0c/storage_v2/_src_/schema/emensawerbeseite.YLWk-w.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_rebase__Changes_.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_rebase__Changes_.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/M4/emensa/models/gerichte_self.php" beforeDir="false" afterPath="$PROJECT_DIR$/M4/emensa/models/gerichte_self.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/M4/emensa/routes/web.php" beforeDir="false" afterPath="$PROJECT_DIR$/M4/emensa/routes/web.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/M4/emensa/storage/cache/.layouts.m4_7d_layout_ecc36cbad49aa38782cc08cc5e9ca6c7ae3590d0.bladec" beforeDir="false" afterPath="$PROJECT_DIR$/M4/emensa/storage/cache/.layouts.m4_7d_layout_ecc36cbad49aa38782cc08cc5e9ca6c7ae3590d0.bladec" afterDir="false" />
<change beforePath="$PROJECT_DIR$/M4/emensa/views/layouts/m4_7d_layout.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/M4/emensa/views/layouts/m4_7d_layout.blade.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/M5/emensa/models/gerichte_main.php" beforeDir="false" afterPath="$PROJECT_DIR$/M5/emensa/models/gerichte_main.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/M5/emensa/public/css/style.css" beforeDir="false" afterPath="$PROJECT_DIR$/M5/emensa/public/css/style.css" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -29,7 +23,7 @@
<component name="Git.Settings">
<option name="RECENT_BRANCH_BY_REPOSITORY">
<map>
<entry key="$PROJECT_DIR$" value="dev/m3_safak" />
<entry key="$PROJECT_DIR$" value="dev/m5_safak" />
</map>
</option>
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
@@ -47,28 +41,28 @@
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"RunOnceActivity.OpenProjectViewOnStart": "true",
"RunOnceActivity.ShowReadmeOnStart": "true",
"WebServerToolWindowFactoryState": "false",
"database.data.extractors.current.export.id": "Comma-separated (CSV)_id",
"git-widget-placeholder": "dev/m4__robert",
"last_opened_file_path": "C:/Users/rober/Documents/GitHub/DBWT-Praktika/M4/emensa/public/img",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
"node.js.selected.package.tslint": "(autodetect)",
"nodejs_package_manager_path": "npm",
"settings.editor.selected.configurable": "preferences.pluginManager",
"vue.rearranger.settings.migration": "true"
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
&quot;database.data.extractors.current.export.id&quot;: &quot;Comma-separated (CSV)_id&quot;,
&quot;git-widget-placeholder&quot;: &quot;dev/m5__robert&quot;,
&quot;last_opened_file_path&quot;: &quot;C:/Users/rober/Documents/GitHub/DBWT-Praktika/M4/emensa/public/img&quot;,
&quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
&quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
&quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
&quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
&quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
&quot;settings.editor.selected.configurable&quot;: &quot;preferences.pluginManager&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
},
"keyToStringList": {
"DatabaseDriversLRU": [
"mariadb"
&quot;keyToStringList&quot;: {
&quot;DatabaseDriversLRU&quot;: [
&quot;mariadb&quot;
]
}
}]]></component>
}</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="C:\Users\rober\Documents\GitHub\DBWT-Praktika\M4\emensa\public\img" />
@@ -85,6 +79,7 @@
<updated>1700736495450</updated>
<workItem from="1700736497007" duration="15223000" />
<workItem from="1702027267170" duration="12429000" />
<workItem from="1703159060547" duration="1572000" />
</task>
<servers />
</component>

View File

@@ -35,9 +35,18 @@ while ($row_gerichte = mysqli_fetch_assoc($result_sql_gerichte)) {
$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>Kein Bild in der Datenbank </td></tr>";
$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>";

View File

@@ -29,6 +29,11 @@ img {
text-align: center;
}
.speisen img{
width: 100px;
height: 100px;
}
p {
text-align: justify;
}

View File

@@ -0,0 +1,30 @@
<!doctype html>
<html class="no-js" lang="DE">
<head>
<meta charset="utf-8">
<title><?php echo \htmlentities($title??'', ENT_QUOTES, 'UTF-8', false); ?></title>
<?php echo $this->yieldContent("header"); ?>
<!-- good developers check the markup ;) -->
</head>
<body>
<?php echo $this->yieldContent("nav"); ?>
<hr>
<div class="grid">
<div></div>
<div>
<?php echo $this->yieldContent("text"); ?>
<?php echo $this->yieldContent("gerichte"); ?>
</div>
<div></div>
</div>
<footer>
<table class="fusszeile">
<?php echo $this->yieldContent("footer"); ?>
</table>
</footer>
</body>
</html>

View File

@@ -0,0 +1,62 @@
<?php $_shouldextend[1]=1; ?>
<?php $this->startSection("header"); ?>
<link rel="stylesheet" href="/css/style.css">
<?php $this->stopSection(); ?>
<?php $this->startSection("nav"); ?>
<div class="grid">
<div>
<img src="/img/fh-logo.jpg" alt="FH-Logo">
</div>
<div>
<a href="#ankündigung">Ankündigung</a>
<a href="#speisen">Speisen</a>
<a href="#zahlen">Zahlen</a>
<a href="#kontakt">Kontakt</a>
<a href="#wichtig">Wichtig für uns</a>
</div>
</div>
<?php $this->stopSection(); ?>
<?php $this->startSection("text"); ?>
<img src="/img/mensa21.jpg" alt="Essen">
<h1 id="ankündigung">Bald gibt es auch Essen online ;)</h1>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,
consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
<h1 id="speisen">Köstlichkeiten die Sie erwarten</h1>
<?php $this->stopSection(); ?>
<?php $this->startSection("gerichte"); ?>
<?php if(isset($data['error'])): ?>
<h1>Es gab ein Problem mit der Datenbankverbindung</h1>
<p>Fehlermeldung</p>
<pre> <?php echo \htmlentities($data['beschreibung']??'', ENT_QUOTES, 'UTF-8', false); ?></pre>
<?php else: ?>
<?php
echo $data["gericht"];
echo $data["allergene"];
?>
<?php endif; ?>
<?php $this->stopSection(); ?>
<?php $this->startSection("footer"); ?>
<tr>
<td>(c) E-Mensa GmbH</td>
<td>Şafak Hazinedar & Robert Joel</td>
<td><a href="">Impressum</a></td>
</tr>
<?php $this->stopSection(); ?>
<?php if (isset($_shouldextend[1])) { echo $this->runChild("layouts.main_layout", ['title' => "E-Mensa"]); } ?>