十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
数据库是建立一个购物车的表的。用户ID作外链。用户选定一种商品,存商品相关属性入表。用户查看购物车时只要把有该用户ID的购物信息读出来就行了。维护这张表就可以体现出用户的购物行为了。
站在用户的角度思考问题,与客户深入沟通,找到渭滨网站设计与渭滨网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广、空间域名、网站空间、企业邮箱。业务覆盖渭滨地区。
购物车
有两种实现方式,一种是保存在数据库,另外一种是session
保存在数据库的不会以为关闭浏览器而消失,session会因为关闭浏览器就没有了。
原理是把每个商品的信息存到一个数组里面,然后以这个商品的id作为键值,然后吧数组存到session里面就行,
如果是存入数据库的话,就用关联数据存一下就行的
我来解答一下你的疑惑
买了两个产品。那就是执行了两次
insert
into
temp_table
(uid,productid,pnum,poneprice,ptotalprice)
如果
productid相同则,
pnum
=
pnum+1;
ptotalprice
=
pnum*poneprice
假设前提是
当前两条记录的产品不同,那么购物车列表则是循环读取temp_table列出现有符合条件之产品,数量,价格。
修改2个产品数量的时候,
提交后,同样的文本框pnum为一个数组,productid为一个数组
获取pnum,productid,并且用
split分析后,
分别update
update
temp_table
set
pnum='".$pnum[0]."',ptotalprice='..省略.'
where
uid=自己的uid
and
productid='".$productid[0]."'
注意,这里数组下标要对应好,你可以用个循环。
最后,当订单下好之后,要把临时表的数据转移到正式表中,并且清理掉当前这个用户临时表的内容即可。