From e00f680053a01160c0e0ffa394d79671b9eb04b4 Mon Sep 17 00:00:00 2001 From: Nils <2120531@stud.hs-mannheim.de> Date: Wed, 14 Jun 2023 21:06:12 +0200 Subject: [PATCH] =?UTF-8?q?Verl=C3=A4ngerung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- meinebuecher.php | 10 ++ verlaengerung.php | 170 +++++++++++++++++++++++++++----- verlaengerung_erfolgreich.php | 179 ++++++++++++++++++++++++++++++---- 3 files changed, 319 insertions(+), 40 deletions(-) diff --git a/meinebuecher.php b/meinebuecher.php index 744da29..3457528 100644 --- a/meinebuecher.php +++ b/meinebuecher.php @@ -175,6 +175,16 @@ parentDiv.style.backgroundColor = '#70AD47'; document.getElementById('placeholder$ausleihID').classList.add('extend'); + document.getElementById('placeholder_container$ausleihID').addEventListener('click', function(){ + if (!e) var e = window.event; + e.cancelBubble = true; + if (e.stopPropagation) e.stopPropagation(); + ID = this.id; + var data = new URLSearchParams(); + data.append('ausleihID', ID); + var url = 'http://141.19.142.11/verlaengerung.php?' + data.toString(); + location.href = url; + }); } // Ausgeliehen und nicht Verlängerbar else if (currentElement.innerHTML.trim().includes('Rückgabe') && $bookExtendable === 0){ diff --git a/verlaengerung.php b/verlaengerung.php index 3d62d66..0d72b27 100644 --- a/verlaengerung.php +++ b/verlaengerung.php @@ -5,8 +5,9 @@ + - Candle Bibliothek | Verlängerung + Candle Bibliothek | Verlängerung Meine Bücher @@ -28,9 +29,9 @@ Meine Bücher Abmelden";} + session_start(); + if(isset($_SESSION["eingeloggt"]) && $_SESSION["eingeloggt"] == 1 ){ + echo "Abmelden";} ?>
@@ -48,36 +49,159 @@ +
+

Buch verlängern

+
+

Möchten Sie das folgende Buch um 7 Tage verlängern?

-
-

Buch verlängern

-
-

Möchten Sie das folgende Buch um 7 Tage verlängern?

+
+ - Es -
-

Es

-

von Stephen King

-
Rückgabe am: 03.05.2023
-
-
+ $connection = + mysqli_connect($servername, $username, $password, $dbname); - + if (!$connection) { + die("Verbindung fehlgeschlagen: " . mysqli_connect_error()); + } + /* SQL-Befehl vorbereiten */ + $sql = $connection->prepare("SELECT ab.AusleihID, ab.BuchID, b.Titel, b.Bild, ab.Verlängerbar, DATE_FORMAT(ab.Anfangsdatum, '%d.%m.%Y') as Anfangsdatum, DATE_FORMAT(ab.Enddatum, '%d.%m.%Y') as Enddatum, + GROUP_CONCAT(DISTINCT CONCAT(a.VorName, ' ', a.NachName) + SEPARATOR ', ') AS 'Autor', + IF( + (SELECT ausgeliehenes_buch.Anfangsdatum FROM ausgeliehenes_buch WHERE ausgeliehenes_buch.AusleihID=ab.AusleihID) = Curdate(), 'Sofort Abholbereit', + ( + IF( + (SELECT ausgeliehenes_buch.Anfangsdatum FROM ausgeliehenes_buch WHERE ausgeliehenes_buch.AusleihID=ab.AusleihID) > Curdate(), + CONCAT( + 'Abholbereit am: ', ( + SELECT DATE_FORMAT( + ausgeliehenes_buch.Anfangsdatum , '%d.%m.%Y' + ) FROM ausgeliehenes_buch WHERE ausgeliehenes_buch.AusleihID=ab.AusleihID + ) + ) + , CONCAT( + 'Rückgabe am: ', ( + SELECT DATE_FORMAT( + ausgeliehenes_buch.Enddatum , '%d.%m.%Y' + ) FROM ausgeliehenes_buch WHERE ausgeliehenes_buch.AusleihID=ab.AusleihID + ) + )) + ) + ) + AS 'Verfügbarkeit' + FROM ausgeliehenes_buch AS ab + INNER JOIN buch as b + ON ab.BuchID = b.BuchID + INNER JOIN `buch_verfasst_von_autor` AS bvva + ON b.BuchID = bvva.BuchID + INNER JOIN `autor` AS a ON bvva.AutorNr = a.AutorNr + WHERE ab.AusleihID=? + GROUP BY ab.AusleihID;;"); + + // Parameter binden + $sql->bind_param("i", $ID); + + // Übergebene ID des angeklickten Container speichern + $containerID = $_GET['ausleihID']; + + // Buch ID abtrennen + $ID = str_replace('placeholder_container', '', $containerID); + + + // SQL-Befehl ausführen + $sql->execute(); + + // Ergebnis speichern + $result = $sql->get_result(); + + if (mysqli_num_rows($result) > 0) { + while($row = mysqli_fetch_assoc($result)) { + $bookID = $row['BuchID']; + $ausleihID = $row['AusleihID']; + $bookCover = $row['Bild']; + $bookTitle = $row['Titel']; + $bookAuthor = $row['Autor']; + $bookAvailability = $row['Verfügbarkeit']; + $bookExtendable = $row['Verlängerbar']; + $bookStartdate = $row['Anfangsdatum']; + $bookEnddate = $row['Enddatum']; + + $bookStartdatePlusSeven = $bookStartdate +7; + + /* TODO: OnClick auslagern. */ + echo "
+
+ Kein Bild vorhanden +
+
+

$bookTitle

+
+

von $bookAuthor

+ +
+
+

+ $bookAvailability

+
+
+

+
+ +
+
+
+
+ +
"; + } + } else { + echo "Keine Infos vorhanden."; + echo $_POST['ausleihID']; + } + + if (!$result) { + die("Ungültige SQL-Abfrage: " . mysqli_connect_error()); + } + echo " + "; + mysqli_close($connection); + + + ?>
-
+
- - + + + + + + diff --git a/verlaengerung_erfolgreich.php b/verlaengerung_erfolgreich.php index c646147..ff3620a 100644 --- a/verlaengerung_erfolgreich.php +++ b/verlaengerung_erfolgreich.php @@ -5,6 +5,7 @@ + Candle Bibliothek | Verlängerung Bestätigung @@ -49,28 +50,172 @@
-
-

Buch erfolgreich verlängert

-
-

Das Buch wurde verlängert.
Neues Rückgabedatum: 10.05.2023

+ +prepare(" +UPDATE `ausgeliehenes_buch` SET `Enddatum` = DATE_ADD(Enddatum,INTERVAL 7 DAY) WHERE `ausgeliehenes_buch`.`AusleihID` = ?; +"); +$sql->bind_param("i", $ID); + +$sql->execute(); +$sql = $connection->prepare("SELECT ab.AusleihID, ab.BuchID, b.Titel, b.Bild, ab.Verlängerbar, DATE_FORMAT(ab.Anfangsdatum, '%d.%m.%Y') as Anfangsdatum, DATE_FORMAT(ab.Enddatum, '%d.%m.%Y') as Enddatum, + GROUP_CONCAT(DISTINCT CONCAT(a.VorName, ' ', a.NachName) + SEPARATOR ', ') AS 'Autor', + IF( + (SELECT ausgeliehenes_buch.Anfangsdatum FROM ausgeliehenes_buch WHERE ausgeliehenes_buch.AusleihID=ab.AusleihID) = Curdate(), 'Sofort Abholbereit', + ( + IF( + (SELECT ausgeliehenes_buch.Anfangsdatum FROM ausgeliehenes_buch WHERE ausgeliehenes_buch.AusleihID=ab.AusleihID) > Curdate(), + CONCAT( + 'Abholbereit am: ', ( + SELECT DATE_FORMAT( + ausgeliehenes_buch.Anfangsdatum , '%d.%m.%Y' + ) FROM ausgeliehenes_buch WHERE ausgeliehenes_buch.AusleihID=ab.AusleihID + ) + ) + , CONCAT( + 'Rückgabe am: ', ( + SELECT DATE_FORMAT( + ausgeliehenes_buch.Enddatum , '%d.%m.%Y' + ) FROM ausgeliehenes_buch WHERE ausgeliehenes_buch.AusleihID=ab.AusleihID + ) + )) + ) + ) + AS 'Verfügbarkeit' + FROM ausgeliehenes_buch AS ab + INNER JOIN buch as b + ON ab.BuchID = b.BuchID + INNER JOIN `buch_verfasst_von_autor` AS bvva + ON b.BuchID = bvva.BuchID + INNER JOIN `autor` AS a ON bvva.AutorNr = a.AutorNr + WHERE ab.AusleihID=? + GROUP BY ab.AusleihID;;"); + +// Parameter binden +$sql->bind_param("i", $ID); + +// Übergebene ID des angeklickten Container speichern +$containerID = $_GET['ausleihID']; + +// Buch ID abtrennen +$ID = str_replace('placeholder_container', '', $containerID); -
- Es -
-

Es

-

von Stephen King

-
Rückgabe am: 10.05.2023
-
-
+// SQL-Befehl ausführen +$sql->execute(); - +// Ergebnis speichern +$result = $sql->get_result(); -
+if (mysqli_num_rows($result) > 0) { + while($row = mysqli_fetch_assoc($result)) { + $bookID = $row['BuchID']; + $ausleihID = $row['AusleihID']; + $bookCover = $row['Bild']; + $bookTitle = $row['Titel']; + $bookAuthor = $row['Autor']; + $bookAvailability = $row['Verfügbarkeit']; + $bookExtendable = $row['Verlängerbar']; + $bookStartdate = $row['Anfangsdatum']; + $bookEnddate = $row['Enddatum']; -
+ $bookStartdatePlusSeven = $bookStartdate +7; + + /* TODO: OnClick auslagern. */ + echo "
+

Buch erfolgreich verlängert

+
+

Das Buch wurde verlängert.
Neues Rückgabedatum: $bookEnddate

+
+
+
+ Kein Bild vorhanden +
+
+

$bookTitle

+
+

von $bookAuthor

+ +
+
+

+ $bookAvailability

+
+
+

+
+ +
+
+
+
+ +
+ +
+
+
"; + } +} else { + echo "Keine Infos vorhanden."; + echo $_POST['ausleihID']; +} + +if (!$result) { + die("Ungültige SQL-Abfrage: " . mysqli_connect_error()); +} +?> + + + + + + + + + + + + + + + + + + + + + + +