php mysql实现购物车功能_PHP基础应用:实现购物车功能

本文介绍了如何使用PHP和MySQL实现购物车功能。通过设计一个包含用户ID、商品ID和商品数量的数据库表,实现了当用户添加商品时检查是否已有相同商品,若有则数量加一,若无则插入新记录。同时,文章提到了在实现过程中遇到的数组存储和数据遍历问题。
摘要由CSDN通过智能技术生成

项目已经进行到用户购物车功能的实现,说简单简单,说复杂复杂,简单的话用session动态存储用户订购的商品,但是用户退出网站的时候,用户购物车数据就会被销毁,复杂的话就是永久存放用户购物车数据,永不销毁,(当然除了用户主动删除才销毁)其实复杂做法的原理一想就懂,无非就是在数据库中建张“用户购物车”表,但是有一点需要事先想清楚,那就是表该怎样设计才合理?

如果一个用户在购物车中放多个相同产品,数据表该怎样设计?

难道只是写入吗,不管是不是同一件商品,只要放入数据库我就给它存放,如果这样设计表的话,那么到时候该怎样给用户统计购物车中同一件商品的数量,因为表中的数据都是按id从小到大一次存放的,相同数据之间只有商品id属性相同,但如果根据相同商品ID计算商品数量的话,那么程序运行就要多绕几个圈,首先要全部遍历表中数据,累加相同id属性的商品,但是如果数据有几十万条的话…

刚开始的时候我想的是购物车表是这样设计的:

id   userid  goodsid

其中goodsid是二位数组的形式 goods[a][b]

goods[a]===>第一维goods[a]  代表的是商品为id的数组

goods[a][b]==> 第二维代表商品为id的商品数量

但是后来测试不知道数据库中该怎样存放数组

第二中考虑以字符转的形式存放goods[a][b]

存进去的话用“,”号隔开

拿出来的话用explode拆开

这个方法也试了好几次,但发现还是有些问题,最

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值