prepare("SELECT productID FROM products WHERE productID = ?"); $checkStmt->bind_param("i", $productId); $checkStmt->execute(); $checkResult = $checkStmt->get_result(); if ($checkResult->num_rows === 0) { include __DIR__ . '/404.php'; exit; } /** * @brief Behandelt das Löschen von Bewertungen. * @details Administrator- und Moderator-Nutzer können Bewertungen über einen POST-Request löschen. * Überprüft die Nutzerrolle in der Session und führt das DELETE-Statement aus. */ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['delete_review']) && isset($_POST['delete_review_id'])) { if (!empty($_SESSION['user_roles']) && (in_array('ADMIN', $_SESSION['user_roles'], true) || in_array('MODERATOR', $_SESSION['user_roles'], true))) { $deleteId = (int)$_POST['delete_review_id']; $delStmt = $conn->prepare("DELETE FROM reviews WHERE reviewID = ?"); $delStmt->bind_param("i", $deleteId); $delStmt->execute(); $delStmt->close(); echo ""; exit; } } ?> prepare(" SELECT a.name, a.unit, a.dataType, pa.valueString, pa.valueNumber, pa.valueBool, p.model, p.description, p.imagePath, p.categoryID FROM products p INNER JOIN categoryAttributes ca ON p.categoryID = ca.categoryID INNER JOIN attributes a ON ca.attributeID = a.attributeID LEFT JOIN productAttributes pa ON pa.productID = p.productID AND pa.attributeID = a.attributeID WHERE p.productID = ? ORDER BY a.attributeID "); $stmt->bind_param("i", $productId); $stmt->execute(); $result = $stmt->get_result(); $product = $result->fetch_assoc(); $categoryId = $product['categoryID']; /** * @brief Initialer Status für die Wunschliste. */ $alreadyInWishlist = false; /** * @brief Prüft, ob sich das Produkt bereits auf der Wunschliste des angemeldeten Nutzers befindet. * @details Falls der Nutzer angemeldet ist (`user_id` ist gesetzt), wird in `userFavorites` gesucht. */ if (isset($_SESSION['user_id'])) { $stmtCheck = mysqli_prepare( $conn, "SELECT 1 FROM userFavorites WHERE userID = ? AND productID = ? LIMIT 1" ); if ($stmtCheck) { mysqli_stmt_bind_param( $stmtCheck, "ii", $_SESSION['user_id'], $productId ); mysqli_stmt_execute($stmtCheck); mysqli_stmt_store_result($stmtCheck); if (mysqli_stmt_num_rows($stmtCheck) > 0) { $alreadyInWishlist = true; } mysqli_stmt_close($stmtCheck); } } ?> bind_param("i", $productId); $stmtRevOv->execute(); $resultRevOv = $stmtRevOv->get_result(); $reviewOverview = $resultRevOv->fetch_assoc(); // Falls NULL zurückkommt (keine Bewertungen), auf 0 setzen if ($reviewOverview['reviewCount'] === null) { $reviewOverview['reviewCount'] = 0; } ?>
Noch keine Bewertungen vorhanden.
{$row['name']}: "; if (!empty($row['valueString'])) echo $row['valueString']; if (!empty($row['valueNumber'])) echo $row['valueNumber'] . " " . $row['unit']; if (!is_null($row['valueBool'])) echo $row['valueBool'] ? "Ja" : "Nein"; echo "
"; } ?>Keine Shops bieten dieses Produkt an.
Es gibt noch keine Bewertungen.