Erstellt, wird noch bearbeitet
parent
eff1e08bb7
commit
0a96c84fbc
|
@ -0,0 +1,131 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<?php
|
||||
|
||||
// Session starten
|
||||
session_start();
|
||||
|
||||
if (isset($_POST['function'])) {
|
||||
$function = $_POST['function'];
|
||||
switch($function) {
|
||||
case 'addBookToCart':
|
||||
addBookToCart($_POST['id']);
|
||||
break;
|
||||
case 'removeBookFromCart':
|
||||
removeBookFromCart($_POST['id']);
|
||||
break;
|
||||
case 'increaseQuantity':
|
||||
increaseQuantity($_POST['id']);
|
||||
break;
|
||||
case 'decreaseQuantity':
|
||||
decreaseQuantity($_POST['id']);
|
||||
break;
|
||||
default:
|
||||
echo "Funktion existiert nicht.";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fügt ein Buch zum Warenkorb hinzu.
|
||||
*/
|
||||
function addBookToCart($bookID) {
|
||||
// Überprüfen, ob bereits ein Warenkorb hinterlegt ist
|
||||
if (!(isset($_SESSION['cart']))) {
|
||||
// Wenn nicht, Einkaufswagen hinterlegen
|
||||
$_SESSION['cart'] = array();
|
||||
}
|
||||
|
||||
// Wurde das Buch bereits zum Warenkorb hinzugefügt?
|
||||
if (isset($_SESSION['cart'][$bookID])) {
|
||||
// Buch liegt bereits im Warenkorb, Menge erhöhen
|
||||
increaseQuantity($bookID);
|
||||
}
|
||||
else {
|
||||
// Buch liegt noch nicht im Warenkorb, jetzt hinzufügen
|
||||
$_SESSION['cart'][$bookID] = array('quantity' => 1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Entfernt ein Buch aus dem Warenkorb.
|
||||
*/
|
||||
function removeBookFromCart($bookID) {
|
||||
// Überprüfen, ob das Buch im Warenkorb liegt
|
||||
if (isset($_SESSION['cart'][$bookID])) {
|
||||
// Buch existiert im Warenkorb, kann gelöscht werden
|
||||
unset($_SESSION['cart'][$bookID]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Erhöht die Menge eines Buches im Warenkorb.
|
||||
*/
|
||||
function increaseQuantity($bookID) {
|
||||
// Verbinden mit der Datenbank
|
||||
$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());
|
||||
}
|
||||
|
||||
// SQL-Befehl vorbereiten
|
||||
$sql = $connection->prepare(
|
||||
"SELECT b.BuchID, b.MaxAnzahl
|
||||
FROM `buch` AS b
|
||||
WHERE b.BuchID = ?;");
|
||||
|
||||
// Parameter binden
|
||||
$sql->bind_param("i", $bookID);
|
||||
|
||||
// SQL-Befehl ausführen
|
||||
$sql->execute();
|
||||
|
||||
// Ergebnis speichern
|
||||
$result = $sql->get_result();
|
||||
|
||||
if (!$result) {
|
||||
die("Ungültige SQL-Abfrage: " . mysqli_connect_error());
|
||||
}
|
||||
|
||||
// Ergebnis verarbeiten
|
||||
if (mysqli_num_rows($result) > 0) {
|
||||
while($row = mysqli_fetch_assoc($result)) {
|
||||
$bookID = $row['BuchID'];
|
||||
$bookMaxQuantity = $row['MaxAnzahl'];
|
||||
}
|
||||
} else {
|
||||
echo "Kein Buch mit dieser ID vorhanden.";
|
||||
}
|
||||
|
||||
// Verbindung schließen
|
||||
mysqli_close($connection);
|
||||
|
||||
// Wurde die maximale Menge bereits erreicht?
|
||||
if ($_SESSION['cart'][$bookID]['quantity'] < $bookMaxQuantity) {
|
||||
/* Maximale Menge wurde noch nicht erreicht, die Menge im
|
||||
Warenkorb kann erhöht werden */
|
||||
$_SESSION['cart'][$bookID]['quantity'] += 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Verringert die Menge eines Buches im Warenkorb.
|
||||
*/
|
||||
function decreaseQuantity($bookID) {
|
||||
// Ist die Menge höher als 1?
|
||||
if ($_SESSION['cart'][$bookID]['quantity'] > 1) {
|
||||
// Menge des Buches kann verringert werden
|
||||
$_SESSION['cart'][$bookID]['quantity'] -= 1;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
</html>
|
Loading…
Reference in New Issue