diff --git a/buch_details.css b/buch_details.css new file mode 100644 index 0000000..fd281d6 --- /dev/null +++ b/buch_details.css @@ -0,0 +1,96 @@ +/*TODO: Hintergrundfarben entfernen*/ + +.hauptcontainer { + /*Einzelne Elemente untereinander anzeigen.*/ + flex-direction: column; +} + +/*Container wird mit Daten aus der Datenbank gefüllt.*/ +#bookInfo_container { + padding-left: 45px; + padding-right: 50px; + padding-bottom: 50px; + padding-top: 30px; +} + +.book_container { + /*background-color: blueviolet;*/ + display: flex; + /*Einzelne Elemente nebeneinander anzeigen.*/ + flex-direction: row; +} + +.bookCover_container { + /*background-color: blue;*/ + display: flex; + /*Verbietet dem Container, seine Standardgröße (px) zu ändern.*/ + flex: 0 0 150px; + align-items: center; + height: auto; +} + +.bookCover { + /*Bild passt sich seinem Container an.*/ + max-width:100%; + max-height:100%; +} + +.bookDetails_container { + /* background-color: aquamarine; */ + width: 100%; + display: flex; + flex-direction: column; + padding-left: 25px; + padding-right: 25px; +} + +.bookTitle { + margin-bottom: 10px; + font-weight: 400; +} + +.bookDetails { + margin-bottom: 10px; +} + +.available_container { + width: fit-content; + /*Hintergrundfarbe wird an Inhalt angepasst.*/ + background-color: #70AD47; + /*background-color: #F34343;*/ + /*Element immer an der unteren Seite des Containers platzieren.*/ + margin-top: auto; +} + +.available { + color: white; + margin: 10px 25px; +} + +.shoppingCart_container { + /* background-color: chartreuse; */ + margin-left: auto; + margin-top: auto; + flex: 0 0 40px; +} + +.shoppingCart { + background-image: url('pictures/shopping_cart.png'); + width: 40px; + height: 40px; + background-size: contain; + background-repeat: no-repeat; +} + +.shoppingCart:hover { + background-image: url('pictures/shopping_cart_hover.png'); + cursor: pointer; +} + +.content_container, .bookMoreDetails_container { + margin-top: 25px; +} + +.bookContent_heading, .bookDetails_heading { + font-weight: 400; +} \ No newline at end of file diff --git a/buch_details.php b/buch_details.php new file mode 100644 index 0000000..a132a09 --- /dev/null +++ b/buch_details.php @@ -0,0 +1,209 @@ + + + + + + + + + + Candle Bibliothek | Details + + + +
+

+

+ Bibliothek Bild von einer Kerze +

Candle +

+
+ Über Uns + Bücher + Meine Bücher + Abmelden +
+ + +
+ Erweiterte Suche + Bild von einem Wagen +
+
+ + + +
+ 0) { + while($row = mysqli_fetch_assoc($result)) { + $bookID = $row['BuchID']; + $bookCover = $row['Bild']; + $bookTitle = $row['Titel']; + $bookPublishingYear = $row['Erscheinungsjahr']; + $bookPublisher = $row['Verlag']; + $bookAuthor = $row['Autor']; + $bookCategory = $row['Kategorie']; + $bookAvailability = $row['Verfügbarkeit']; + $bookContent = $row['Inhalt']; + $bookISBN = $row['ISBN']; + $bookLanguage = $row['Sprache']; + $bookKeywords = $row['Stichwort']; + + /* TODO: OnClick auslagern. */ + echo + "
+
+
+ Kein Bild vorhanden +
+
+

$bookTitle

+
+

Verfasser: $bookAuthor

+

Erscheinungsjahr: + $bookPublishingYear

+

Verlag: + $bookPublisher

+

Kategorie: + $bookCategory

+
+
+

+ $bookAvailability

+ + +
+
+
+
+
+
+
+

Inhalt

+

$bookContent

+
+
+

Details

+

ISBN: $bookISBN

+

Sprache: $bookLanguage

+

Stichwörter: + $bookKeywords

+
+
"; + } + } else { + echo "Keine Infos vorhanden."; + } + + if (!$result) { + die("Ungültige SQL-Abfrage: " . mysqli_connect_error()); + } + + mysqli_close($connection); + + ?> +
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/erweiterteSuche.html b/erweitertesuche.html similarity index 50% rename from erweiterteSuche.html rename to erweitertesuche.html index ccbc870..054b822 100644 --- a/erweiterteSuche.html +++ b/erweitertesuche.html @@ -32,69 +32,65 @@ +
+ Erweiterte Suche

+
+ + + + + + + + + + + + Weitere Suchkriterien

+ Jahr von + + bis + + Sprache + + Verfügbarkeit + + verfügbare Bücher -
- Erweiterte Suche

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Weitere Suchkriterien

- Jahr von - - bis - - Sprache - - - - - - - - Verfügbarkeit - - verfügbare Bücher - - suchen - Suchfelder leeren - -
+ + Suchfelder leeren + +
diff --git a/pictures/before-we-go-live.jpg b/pictures/before-we-go-live.jpg new file mode 100644 index 0000000..f53830e Binary files /dev/null and b/pictures/before-we-go-live.jpg differ diff --git a/pictures/das-unglaubliche-hochbeet-gebundene-ausgabe-doris-kampas.jpeg b/pictures/das-unglaubliche-hochbeet-gebundene-ausgabe-doris-kampas.jpeg new file mode 100644 index 0000000..e36e19e Binary files /dev/null and b/pictures/das-unglaubliche-hochbeet-gebundene-ausgabe-doris-kampas.jpeg differ diff --git a/pictures/es-gebundene-ausgabe-stephen-king.jpeg b/pictures/es-gebundene-ausgabe-stephen-king.jpeg new file mode 100644 index 0000000..f8294c4 Binary files /dev/null and b/pictures/es-gebundene-ausgabe-stephen-king.jpeg differ diff --git a/pictures/harry-potter-und-der-gefangene-von-askaban-taschenbuch-j-k-rowling.jpeg b/pictures/harry-potter-und-der-gefangene-von-askaban-taschenbuch-j-k-rowling.jpeg new file mode 100644 index 0000000..28c3017 Binary files /dev/null and b/pictures/harry-potter-und-der-gefangene-von-askaban-taschenbuch-j-k-rowling.jpeg differ diff --git a/pictures/harry-potter-und-der-stein-der-weisen-taschenbuch-j-k-rowling.jpeg b/pictures/harry-potter-und-der-stein-der-weisen-taschenbuch-j-k-rowling.jpeg new file mode 100644 index 0000000..569c37b Binary files /dev/null and b/pictures/harry-potter-und-der-stein-der-weisen-taschenbuch-j-k-rowling.jpeg differ diff --git a/pictures/harry-potter-und-die-kammer-des-schreckens-taschenbuch-j-k-rowling.jpeg b/pictures/harry-potter-und-die-kammer-des-schreckens-taschenbuch-j-k-rowling.jpeg new file mode 100644 index 0000000..fc37eea Binary files /dev/null and b/pictures/harry-potter-und-die-kammer-des-schreckens-taschenbuch-j-k-rowling.jpeg differ diff --git a/pictures/shopping_cart_hover.png b/pictures/shopping_cart_hover.png new file mode 100644 index 0000000..76eef57 Binary files /dev/null and b/pictures/shopping_cart_hover.png differ diff --git a/pictures/whiteout.jpg b/pictures/whiteout.jpg new file mode 100644 index 0000000..19dbd4d Binary files /dev/null and b/pictures/whiteout.jpg differ diff --git a/pictures/wissenschaft_der_logik.jpeg b/pictures/wissenschaft_der_logik.jpeg new file mode 100644 index 0000000..159da8b Binary files /dev/null and b/pictures/wissenschaft_der_logik.jpeg differ diff --git a/style.css b/style.css index f8ef926..bb4502a 100644 --- a/style.css +++ b/style.css @@ -253,7 +253,7 @@ body{ overflow-y: scroll; position:absolute; display:flex; - height: 62%; + height: 71%; width: 100%; top:200px; } @@ -417,16 +417,18 @@ body{ left: 20px; top: 380px; width: 120px; - height: 35px; + font-size: 16px; background-color:#664220 ; color:rgb(255, 255, 255); padding-right:10px; padding-left: 8px; padding-top: 15px; - padding-bottom: 0px; + padding-bottom: 15px; text-align: center; text-decoration: none; border-radius: 8px; + border: none; + cursor: pointer; } diff --git a/suchergebnisse.css b/suchergebnisse.css new file mode 100644 index 0000000..5fb7083 --- /dev/null +++ b/suchergebnisse.css @@ -0,0 +1,106 @@ +/*TODO: Hintergrundfarben entfernen*/ + + +.hauptcontainer { + /*Einzelne Elemente untereinander anzeigen.*/ + flex-direction: column; +} + +#searchResult_heading { + /* background-color: #70AD47; */ + margin-top: 30px; + margin-left: 30px; + margin-bottom: 25px; + margin-right: 50px; + font-weight: 500; +} + +/*Container wird mit Daten aus der Datenbank gefüllt.*/ +#searchResult_container { + padding-left: 45px; + padding-right: 50px; + padding-bottom: 50px; +} + +.book_container { + /* background-color: blueviolet; */ + display: flex; + /*Einzelne Elemente nebeneinander anzeigen.*/ + flex-direction: row; + cursor: pointer; +} + +.bookCover_container { + /*background-color: blue;*/ + display: flex; + /*Verbietet dem Container, seine Standardgröße (px) zu ändern.*/ + flex: 0 0 150px; + align-items: center; + height: auto; +} + +.bookCover { + /*Bild passt sich seinem Container an.*/ + max-width:100%; + max-height:100%; +} + +.bookDetails_container { + /* background-color: aquamarine; */ + width: 100%; + display: flex; + flex-direction: column; + padding-left: 15px; + padding-right: 15px; +} + +.bookTitle { + margin-bottom: 10px; + font-weight: 400; +} + +.bookDetails { + margin-bottom: 10px; +} + +.available_container { + width: fit-content; + /*Hintergrundfarbe wird an Inhalt angepasst.*/ + background-color: #70AD47; + /*background-color: #F34343;*/ + /*Element immer an der unteren Seite des Containers platzieren.*/ + margin-top: auto; +} + +.available { + color: white; + margin: 10px 25px; +} + +.shoppingCart_container { + /* background-color: chartreuse; */ + margin-left: auto; + margin-top: auto; + flex: 0 0 40px; +} + +.shoppingCart { + background-image: url('pictures/shopping_cart.png'); + width: 40px; + height: 40px; + background-size: contain; + background-repeat: no-repeat; +} + +.shoppingCart:hover { + background-image: url('pictures/shopping_cart_hover.png'); + cursor: pointer; +} + +.divider { + margin-top: 15px; + margin-bottom: 15px; + background-color: #987554; + width: 100%; + height: 1px; +} \ No newline at end of file diff --git a/suchergebnisse_erweiterte_suche.php b/suchergebnisse_erweiterte_suche.php new file mode 100644 index 0000000..a13e9ac --- /dev/null +++ b/suchergebnisse_erweiterte_suche.php @@ -0,0 +1,265 @@ + + + + + + + + + + Candle Bibliothek | Suchergebnisse + + + +
+

+

+ Bibliothek Bild von einer Kerze +

Candle +

+
+ Über Uns + Bücher + Meine Bücher + Abmelden +
+ + +
+ Erweiterte Suche + Bild von einem Wagen +
+
+ + + +
+

Suchergebnisse

+
+ $startYear"; + } + /* Nur Endjahr */ + else if (!$startYear && $endYear) { + $yearQuery = "WHERE b.Erscheinungsjahr < $endYear"; + } + /* Start- und Endjahr */ + else if ($startYear && $endYear) { + $yearQuery = + "WHERE b.Erscheinungsjahr BETWEEN $startYear AND $endYear"; + } + + $language = $_GET['language']; + if ($language == 'Alle Sprachen') { + $language = '%%'; + } + + $available = isset($_GET['status']); + if ($available) { + $available = 'Verfügbar'; + } + else { + $available = '%%'; + } + + /* SQL-Befehl zusammenstellen */ + $sql = "SELECT b.BuchID, b.Titel, b.Erscheinungsjahr, b.Bild, + b.Verlag, GROUP_CONCAT(DISTINCT CONCAT(a.VorName, ' ', a.NachName) + SEPARATOR ', ') AS 'Autor', + GROUP_CONCAT(DISTINCT k.Name SEPARATOR ', ') AS 'Kategorie', + b.ISBN, b.Klappentext AS 'Inhalt', sp.Bezeichnung AS 'Sprache', + GROUP_CONCAT(DISTINCT st.Text SEPARATOR ', ') AS 'Stichwort', + IF(b.Anzahl!=0, 'Verfügbar', CONCAT('Verfügbar ab: ', 'Test!')) + AS 'Verfügbarkeit' FROM `buch` AS b + INNER JOIN `buch_verfasst_von_autor` AS bvva + ON b.BuchID = bvva.BuchID + INNER JOIN `autor` AS a ON bvva.AutorNr = a.AutorNr + INNER JOIN `buch_hat_kategorie` AS bhk ON bhk.BuchID = b.BuchID + INNER JOIN `kategorie` AS k ON k.KategorieID = bhk.KategorieID + INNER JOIN `sprache` AS sp ON sp.SprachenID = b.SprachenID + INNER JOIN `buch_hat_stichwort` AS bhs ON bhs.BuchID = b.BuchID + INNER JOIN `stichwort` AS st ON st.StichwortID = bhs.StichwortID + $yearQuery + GROUP BY b.BuchID + HAVING $dropdown1 LIKE '%$search1%' + $andOr1 $dropdown2 LIKE '%$search2%' + $andOr2 $dropdown3 LIKE '%$search3%' + AND Sprache LIKE '$language' + AND Verfügbarkeit LIKE '$available';"; + + $servername = "localhost"; + $username = "web_b-3"; + $password = "een7Ao6s"; + $dbname = "bibliothek_candle"; + + $connection = + mysqli_connect($servername, $username, $password, $dbname); + + if (!$connection) { + die("Verbindung fehlgeschlagen: " . mysqli_connect_error()); + } + + $result = mysqli_query($connection, $sql); + $counter = 0; + if (mysqli_num_rows($result) > 0) { + while($row = mysqli_fetch_assoc($result)) { + $bookID = $row['BuchID']; + $bookCover = $row['Bild']; + $bookTitle = $row['Titel']; + $bookPublishingYear = $row['Erscheinungsjahr']; + $bookPublisher = $row['Verlag']; + $bookAuthor = $row['Autor']; + $bookCategory = $row['Kategorie']; + $bookAvailability = $row['Verfügbarkeit']; + + if ($counter != 0) { + echo "
"; + } + /* TODO: OnClick auslagern. */ + echo "
+
+ Kein Bild vorhanden +
+
+

$bookTitle

+
+

Verfasser: $bookAuthor

+

+ Erscheinungsjahr: $bookPublishingYear

+

+ Verlag: $bookPublisher

+

+ Kategorie: $bookCategory

+
+
+

+ $bookAvailability

+ + +
+
+
+
+
+
"; + $counter++; + } + } else { + echo "Keine Ergebnisse."; + } + + if (!$result) { + die("Ungültige SQL-Abfrage: " . mysqli_connect_error()); + } + + mysqli_close($connection); + + ?> +
+
+ + + + + + + + + + + + + + + + + + \ No newline at end of file