>백엔드 개발 >PHP 튜토리얼 >PHP 개발자 도시의 상품평점 통계 기능 구현 방법

PHP 개발자 도시의 상품평점 통계 기능 구현 방법

PHPz
PHPz원래의
2023-06-29 09:38:441039검색

PHP Developer City에서 상품 평점 통계 기능을 구현하는 방법

전자상거래가 발전하면서 사용자에게 보다 실제적인 쇼핑 참고 자료를 제공하기 위해 상품 리뷰 및 평점에 주목하는 쇼핑몰 웹사이트가 많아졌습니다. PHP Developer City에서는 제품 평가 통계 기능을 구현하는 것이 매우 중요한 부분입니다. 이 글에서는 제품 평점 통계를 구현하는 방법을 소개합니다.

1. 데이터베이스 디자인

우선, 상품평점 통계와 관련된 데이터베이스 테이블을 디자인해야 합니다. 일반적으로 최소한 하나의 제품 테이블과 하나의 등급 테이블이 필요합니다.

제품 테이블(product)에는 다음 필드가 포함됩니다.

  • id: 제품 ID
  • name: 제품 이름
  • price: 제품 가격
  • ...

평점 테이블(등급)에는 다음 필드가 포함됩니다. :

  • id: 평점 ID
  • product_id: 제품 ID
  • user_id: 사용자 ID
  • ating: 평점(보통 1~5 사이의 정수)
  • timestamp: 평점 시간
  • ...

2. 상품 상세 페이지

상품 상세 페이지에서는 상품 평가 통계를 표시해야 합니다. 코드는 다음과 같습니다.

<?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>";
?>

3. 평가 기능

제품 세부 정보 페이지에서 사용자가 제품을 평가할 수 있도록 평가 기능도 추가해야 합니다. 코드는 다음과 같습니다.

<?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>";
?>

4. 평점 통계 업데이트

사용자가 제품을 평가한 후 해당 상품의 평점 통계를 업데이트해야 합니다. 평가 기록을 삽입한 후 다음 코드를 추가할 수 있습니다.

// 更新评分统计信息
$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);

5. 프런트 엔드 디스플레이

프런트 엔드 디스플레이는 실제 필요에 따라 미화 및 스타일을 지정할 수 있으며 JavaScript 및 CSS를 사용하여 구현할 수 있습니다. jQuery와 같은 프런트엔드 프레임워크를 사용하면 별표 평점과 같은 평점을 동적으로 표시할 수 있습니다.

요약:

위의 단계를 통해 제품 평점 통계 기능을 구현할 수 있습니다. 먼저 데이터베이스 테이블 구조를 설계한 다음 제품 세부정보 페이지에 평점 통계 및 평점 양식을 표시하는 동시에 평점 통계를 업데이트하는 방법도 백그라운드에서 구현되어야 합니다. 마지막으로 필요에 따라 프런트 엔드를 아름답게 꾸미고 스타일을 지정합니다.

이는 중복 제거, 보안 등의 문제를 고려하는 등 실제 프로젝트 요구에 따라 확장 및 최적화할 수 있는 제품 등급 통계 기능을 구현하는 간단한 방법입니다. 이 글이 제품 평가 통계 기능을 구현하는 데 도움이 되기를 바랍니다.

위 내용은 PHP 개발자 도시의 상품평점 통계 기능 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.