卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64334本站已运行4115

如何使用PHP开发简单的商品评论和评分功能

如何使用PHP开发简单的商品评论和评分功能

如何使用PHP开发简单的商品评论和评分功能

PHP作为一种广泛应用于网站开发的脚本语言,可以帮助我们开发出各种功能丰富的网站。其中一项常见的功能就是商品评论和评分功能。本文将介绍如何使用PHP开发简单的商品评论和评分功能,并提供具体的代码示例。

首先,我们需要在数据库中创建一个用于存储评论信息的表,表结构如下:

CREATE TABLE comments (
id int(11) NOT NULL AUTO_INCREMENT,
product_id int(11) NOT NULL,
user_id int(11) NOT NULL,
comment text NOT NULL,
rating int(11) NOT NULL,
created_at datetime NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

表中的字段包括:id(评论的唯一标识)、product_id(被评论的商品ID)、user_id(评论用户的ID)、comment(评论内容)、rating(评分)、created_at(评论创建时间)。

接下来,我们需要创建一个用于显示商品评论的页面和一个用于提交评论的页面。

  1. 显示商品评论的页面(comments.php):

<?php
// 连接数据库,这里使用PDO方式
$dbhost = 'localhost';
$dbname = 'your_database_name';
$username = 'your_username';
$password = 'your_password';

try {

$conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $username, $password);

} catch (PDOException $e) {

echo "数据库连接失败: " . $e->getMessage();
exit;

}

// 查询某个商品的评论列表
$product_id = $_GET['product_id'];
$stmt = $conn->prepare("SELECT * FROM comments WHERE product_id = :product_id");
$stmt->bindParam(':product_id', $product_id, PDO::PARAM_INT);
$stmt->execute();
$comments = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>


商品评论


    <?php foreach ($comments as $comment): ?>
    <li>
        <strong>用户:</strong> <?php echo $comment['user_id']; ?><br>
        <strong>评论:</strong> <?php echo $comment['comment']; ?><br>
        <strong>评分:</strong> <?php echo $comment['rating']; ?><br>
        <strong>时间:</strong> <?php echo $comment['created_at']; ?><br>
    </li>
    <?php endforeach; ?>

  1. 提交商品评论的页面(submit_comment.php):

<?php
// 连接数据库
$dbhost = 'localhost';
$dbname = 'your_database_name';
$username = 'your_username';
$password = 'your_password';

try {

$conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $username, $password);

} catch (PDOException $e) {

echo "数据库连接失败: " . $e->getMessage();
exit;

}

// 获取POST过来的评论内容和评分
$product_id = $_POST['product_id'];
$user_id = $_POST['user_id'];
$comment = $_POST['comment'];
$rating = $_POST['rating'];
$created_at = date('Y-m-d H:i:s');

// 插入评论数据到数据库
$stmt = $conn->prepare("INSERT INTO comments (product_id, user_id, comment, rating, created_at) VALUES (:product_id, :user_id, :comment, :rating, :created_at)");
$stmt->bindParam(':product_id', $product_id, PDO::PARAM_INT);
$stmt->bindParam(':user_id', $user_id, PDO::PARAM_INT);
$stmt->bindParam(':comment', $comment, PDO::PARAM_STR);
$stmt->bindParam(':rating', $rating, PDO::PARAM_INT);
$stmt->bindParam(':created_at', $created_at, PDO::PARAM_STR);
$stmt->execute();

// 跳转回商品评论页面
header("Location: comments.php?product_id=" . $product_id);
exit;
?>

卓越飞翔博客
上一篇: 如何使用动态规划算法在PHP中解决背包问题并获得最优解?
下一篇: PHP秒杀系统中的用户身份验证和跨站请求伪造防护措施
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏