php 购物车完整实现代码

以下是详细讲解“php 购物车完整实现代码”的完整攻略。

以下是详细讲解“php 购物车完整实现代码”的完整攻略。

确定功能需求

首先需要明确购物车的功能需求,如以下几点:

  1. 加入商品到购物车

  2. 修改购物车中商品数量

  3. 删除购物车中商品

  4. 显示购物车中商品信息及商品小计

  5. 计算购物车总价

数据库设计

为了对购物车中商品进行操作,需要对商品数据进行存储,因此需要设计购物车表和商品表。设计表时,需要考虑表之间的关系,如以下表结构:

商品表(goods)

列名 数据类型 描述
id int(11) 商品编号
name varchar(50) 商品名称
price decimal(10,2) 商品价格

购物车表(cart)

列名 数据类型 描述
id int(11) 购物车中商品编号
num int(11) 购物车中商品数量

代码实现

连接数据库

使用PHP连接MySQL数据库,如下所示:

<?php
$mysqli = new mysqli('localhost', 'root', 'password', 'test');
if ($mysqli->connect_errno) {
    die('Connect error' .$mysqli->connect_error);
}

加入商品到购物车

向购物车表中插入新商品,如果商品已经存在,则更改商品数量。

示例代码如下:

$goods_id = $_POST['id'];
$goods_num = $_POST['num'];
// 检查购物车中是否已经存在该商品
$sql = "SELECT * FROM cart WHERE id = $goods_id";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
    // 更新购物车中商品数量
    $sql = "UPDATE cart SET num = num+$goods_num WHERE id=$goods_id";
    $mysqli->query($sql);
} else {
    // 向购物车中添加新商品
    $sql = "INSERT INTO cart(id, num) VALUES($goods_id, $goods_num)";
    $mysqli->query($sql); 
}

修改购物车中商品数量

修改购物车中商品数量,可以使用更新语句实现。

示例代码如下:

$goods_id = $_POST['id'];
$goods_num = $_POST['num'];
$sql = "UPDATE cart SET num = $goods_num WHERE id=$goods_id";
$mysqli->query($sql);

删除购物车中商品

从购物车表中删除商品,可以使用删除语句实现。

示例代码如下:

$goods_id = $_POST['id'];
$sql = "DELETE FROM cart WHERE id=$goods_id";
$mysqli->query($sql);

显示购物车中商品信息及商品小计

从商品表和购物车表中查询记录,将查询结果进行展示。

示例代码如下:

// 查询购物车中商品信息
$sql = "SELECT * FROM cart";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
    while ($cart_row = $result->fetch_assoc()) {
        $goods_id = $cart_row['id'];
        $goods_num = $cart_row['num'];
        // 查询商品信息
        $sql = "SELECT * FROM goods WHERE id = $goods_id";
        $goods_result = $mysqli->query($sql);
        $goods_row = $goods_result->fetch_assoc();
        $goods_name = $goods_row['name'];
        $goods_price = $goods_row['price'];
        echo "<tr><td>$goods_name</td><td>$goods_price</td><td>$goods_num</td><td>" . $goods_price * $goods_num . "</td></tr>";
    }
}

计算购物车总价

从购物车表和商品表中查询记录,将计算结果进行展示。

示例代码如下:

// 查询购物车中商品信息
$sql = "SELECT * FROM cart";
$result = $mysqli->query($sql);
$total_price = 0;
if ($result->num_rows > 0) {
    while ($cart_row = $result->fetch_assoc()) {
        $goods_id = $cart_row['id'];
        $goods_num = $cart_row['num'];
        // 查询商品信息
        $sql = "SELECT * FROM goods WHERE id = $goods_id";
        $goods_result = $mysqli->query($sql);
        $goods_row = $goods_result->fetch_assoc();
        $goods_price = $goods_row['price'];
        $total_price += $goods_price * $goods_num;
    }
}
echo "购物车总价:" . $total_price;

示例说明

以下是两个示例说明:

  1. 加入商品到购物车

假设商品ID为1,购买数量为2,请求接口:

POST /add_cart.php HTTP/1.1
Host: www.xxx.com
Content-Type: application/x-www-form-urlencoded

id=1&num=2

服务器返回结果:

{"code": 0, "message":"success"}
  1. 查看购物车商品信息

发起请求:

GET /cart.php HTTP/1.1
Host: www.xxx.com

服务器返回结果:

<table>
    <tr>
        <td>商品名称</td>
        <td>单价</td>
        <td>数量</td>
        <td>小计</td>
    </tr>
    <tr>
        <td>商品1</td>
        <td>10.00</td>
        <td>2</td>
        <td>20.00</td>
    </tr>
</table>
<p>购物车总价:20.00</p>

以上是“php 购物车完整实现代码”的完整攻略,既包含了功能需求、数据库设计,也详细讲解了代码实现,并提供了两个示例说明。希望对你有所帮助。

本文标题为:php 购物车完整实现代码

基础教程推荐