diff --git a/Assignment_005/readme.md b/Assignment_005/readme.md index 7d10271..90e2614 100644 --- a/Assignment_005/readme.md +++ b/Assignment_005/readme.md @@ -1,6 +1,6 @@ # Filmdatenbank mit PHP -📆 **Fällig: 10.12.2023** 📆 +📆 **Fällig: 10.12.2023** 📆 [Musterlösung](solution/) Ziel dieser Übung ist es, die Filmdatenbank aus der letzten Übung in einer reinen PHP-Variante zu erstellen. Dies bedeutet, dass kein clientseitiges Skripting zum Einsatz kommt, sondern nur HTML, CSS und PHP. Auf JavaScript sollen Sie bewusst verzichten, um später die beiden Optionen vergleichen zu können. diff --git a/Assignment_005/solution/Film.php b/Assignment_005/solution/Film.php new file mode 100644 index 0000000..1c087bc --- /dev/null +++ b/Assignment_005/solution/Film.php @@ -0,0 +1,34 @@ +altersfreigabe = $altersfreigabe; + $this->laufzeit = $laufzeit; + $this->produktionsjahr = $produktionsjahr; + $this->regisseur = $regisseur; + $this->titel = $titel; + } + + /** + * @param $other Film + * @return bool + */ + function equals(Film $other) : bool { + if (gettype($other) != gettype($this)) { + return false; + } + + return $other->titel == $this->titel + && $other->regisseur == $this->regisseur + && $other->produktionsjahr == $this->produktionsjahr + && $other->laufzeit == $this->laufzeit + && $other->altersfreigabe == $this->altersfreigabe; + } +} diff --git a/Assignment_005/solution/index.php b/Assignment_005/solution/index.php new file mode 100644 index 0000000..e1133e5 --- /dev/null +++ b/Assignment_005/solution/index.php @@ -0,0 +1,164 @@ +equals($b)) { + return 0; + } + + if ($kriterium == 'titel') { + return $a->titel > $b->titel ? 1 : -1; + } + elseif ($kriterium == 'regisseur') { + return $a->regisseur > $b->regisseur ? 1 : -1; + } + elseif ($kriterium == 'jahr') { + return $a->produktionsjahr > $b->produktionsjahr ? 1 : -1; + } + elseif ($kriterium == 'spielzeit') { + return $a->laufzeit > $b->laufzeit ? 1 : -1; + } + elseif ($kriterium == 'fsk') { + return $a->altersfreigabe > $b->altersfreigabe ? 1 : -1; + } +} + +function showTable($filme) { + + print('' . "\n"); + print('' . "\n"); + print('' . "\n"); + print('' . "\n"); + print('' . "\n"); + print('' . "\n"); + print('' . "\n"); + print('' . "\n"); + print('' . "\n"); + print('' . "\n"); + + $i = 0; + + foreach ($filme as $film) { + $count = $i + 1; + print("" . "\n"); + print("" . "\n"); + print("" . "\n"); + print("" . "\n"); + print("" . "\n"); + print("" . "\n"); + print("" . "\n"); + print(""); + $i++; + } + print('
# 
$count$film->titel$film->regisseur$film->produktionsjahr$film->laufzeit$film->altersfreigabe
'); +} +?> + + + + + + Filmdatenbank + + + + +

Filmdatenbank

+ +
+ + + +

Eingabe eines neuen Films

+ + + + + + + + + + + + + + + + + + + + + + +
Titel
Regisseur
Jahr
Spielzeit
FSK
+ +
+
+ +
+ + + diff --git a/readme.md b/readme.md index 65093d7..8232b60 100644 --- a/readme.md +++ b/readme.md @@ -16,5 +16,5 @@ Hier finden Sie die wöchentlichen Assignments für die Vorlesung Webbasierte Sy | 2. | 16.10.2023 | [Styling der Fanseite mit CSS](Assignment_002/readme.md) | **22.10.2023** | | | 3. | 23.10.2023 | [Fanseite responsive machen](Assignment_003/readme.md) | **05.11.2023** | | | 4. | 06.11.2023 | [Interaktive Filmdatenbank](Assignment_004/readme.md) | **19.11.2023** | [✅](Assignment_004/solution/) | -| 5. | 27.11.2023 | [Filmdatenbank mit PHP](Assignment_005/readme.md) | **10.12.2023** | | +| 5. | 27.11.2023 | [Filmdatenbank mit PHP](Assignment_005/readme.md) | **10.12.2023** | [✅](Assignment_005/solution/) | | 6. | 11.12.2023 | [Filmdatenbank mit PHP und Twig](Assignment_006/readme.md) | **17.12.2023** | |