PHP開發商城中的商品評分統計功能實現方法
隨著電子商務的發展,更多的商城網站開始關注商品評價和評分,以提供給用戶更多真實的購物參考。而在PHP開發商城中,實現商品評分統計功能是非常重要的一環。本文將介紹一種實現商品評分統計功能的方法。
一、資料庫設計
首先,我們需要設計商品評分統計相關的資料庫表。一般來說,至少需要一個商品表和一個評分錶。
商品表(product)包含以下欄位:
評分錶(rating)包含以下欄位:
二、商品詳情頁
###在商品詳情頁中,我們需要展示商品的評分統計資料。代碼如下:###<?php // 获取商品ID $product_id = $_GET['product_id']; // 查询商品信息 $query = "SELECT * FROM product WHERE id = $product_id"; $result = mysqli_query($conn, $query); $product = mysqli_fetch_array($result); // 查询评分统计信息 $query = "SELECT AVG(rating) AS average_rating, COUNT(*) AS total_ratings FROM rating WHERE product_id = $product_id"; $result = mysqli_query($conn, $query); $rating_info = mysqli_fetch_array($result); // 输出评分统计信息 echo "商品名称:" . $product['name'] . "<br>"; echo "商品价格:" . $product['price'] . "<br>"; echo "平均评分:" . $rating_info['average_rating'] . "<br>"; echo "总评分数:" . $rating_info['total_ratings'] . "<br>"; ?>
<?php // 处理用户提交的评分表单 if(isset($_POST['rating'])) { // 获取用户ID $user_id = $_SESSION['user_id']; // 获取商品ID $product_id = $_GET['product_id']; // 获取评分 $rating = $_POST['rating']; // 插入评分记录 $query = "INSERT INTO rating (product_id, user_id, rating) VALUES ($product_id, $user_id, $rating)"; mysqli_query($conn, $query); // 刷新当前页面 header("Location: product.php?product_id=$product_id"); exit(); } // 输出评分表单 echo "<form action='product.php?product_id={$product['id']}' method='post'>"; echo "评分:<input type='number' name='rating' min='1' max='5' required>"; echo "<input type='submit' value='提交'>"; echo "</form>"; ?>
// 更新评分统计信息 $query = "UPDATE product SET average_rating = (SELECT AVG(rating) FROM rating WHERE product_id = $product_id), total_ratings = (SELECT COUNT(*) FROM rating WHERE product_id = $product_id) WHERE id = $product_id"; mysqli_query($conn, $query);
以上是PHP開發商城中的商品評分統計功能實現方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!