微信商城中购物车和订单表结构设计

本文探讨了微信商城中购物车的实现方式,包括浏览器存储、服务器会话和数据库存储,并重点介绍了使用Mysql存储购物车信息的设计,强调了uid、goods_id和num字段的重要性。此外,还阐述了订单表(db_order)的设计,用于记录用户购买的商品及支付状态。同时,通过订单商品表(order_goods)处理一对多的商品关系,并保存商品的历史价格信息,以适应价格变动的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

购物车的实现可以使用多种方式,主流的有以下3种:

存储在用户游览器中:如使用cookie记录,也可以使用HTML5的本地存储等

存储在服务器中:存储在用户会话(session)中,用户在关闭游览器后存储信息会被销毁

存储在数据库中:可以存储在Mysql、Redis等数据库中

下面以Mysql存储用户的购物车信息,这样用户无论何时都可以看到自己的购物车历史记录。购物车表(goods_shopcar)设计见图


表设计中关键字段为uid和goods_id,可以记录那个用户加入了那个商品。num则记录了某个商品的加入的数量。

既然有购物车那么就会有支付功能,发起支付的时候需要发送一个唯一的订单号给微信服务器,这样在通知的时候才可以了解该修改那条订单记录。另外订单的核心就是记录那个用户买个那些商品,并提供支付等相关的状态管理。订单表(db_order)设计见图

因为用户可以一次性购买多个商品,所以用户订单与商品是一对多的关系。设计的订单商品表(order_goods)见图

订单表(order)只是记录了商品的总支付金额(pay_price),所以在订单商品表(order_goods)中设计记录了每个商品的购买价格(goods_price),这么做是inwei商品的价格会动态调整,而订单需要保存历史价格信息。

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值