重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
我来解答一下你的疑惑
创新互联建站长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为临海企业提供专业的成都网站制作、成都网站设计,临海网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
买了两个产品。那就是执行了两次
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]."'
注意,这里数组下标要对应好,你可以用个循环。
最后,当订单下好之后,要把临时表的数据转移到正式表中,并且清理掉当前这个用户临时表的内容即可。
在 form表单的action写上你要提交的PHP文件名,在那个php文件中直接var_dump($_POST);
所有的内容都提交过去了
首先,购物车的数据库设计:
1. id
2. goods_id 商品ID
3. session_id 购物车ID
4.
goods_sn 商品编码
5. goods_name 商品名称
6. shop_price 商品商城售价
7. goods_price
商品真实售价(与shop_price的区别在于,当打折的时候,shop_price是打折之前商品的售价,而goods_price是打折之后的)
8.
goods_number 数量
9. weight 商品重量
10. goods_attr 商品属性(如颜色,尺码)
11.
promote_code 促销编码(为商品促销,做的策略模式识别码)
12. is_promote 促销ID
13. stock_id 库存ID
数据库结构大概是这个样子。当然如果还有其他的需求,比如商品的返利积分,商品是否虚拟产品,商品是否代发货等等,可以另加标示符。这里就不一一举例了。
第二点,我们这个购物车要求是在用户不登陆状态下可以把商品添加到购物车内的,这也是最近非常流行的一种方式,所以在购物车数据库设计里面,就没有加入user_id这个字段,考虑到的是用户未登陆下也可以把商品放入购物车。
参照ecshop购物车功能。在核心文件,即客户第一次访问网站既生成一个字符串session,设定session的生存时间,防止因客户不操作而session一直存在。 cart表中就不说了。客户没有登录的时候用原始生成的session,添加购物车就插入数据好了。如果客户登录了,修改cart表中的uid 。
购物车
有两种实现方式,一种是保存在数据库,另外一种是session
保存在数据库的不会以为关闭浏览器而消失,session会因为关闭浏览器就没有了。
原理是把每个商品的信息存到一个数组里面,然后以这个商品的id作为键值,然后吧数组存到session里面就行,
如果是存入数据库的话,就用关联数据存一下就行的
数据库是建立一个购物车的表的。用户ID作外链。用户选定一种商品,存商品相关属性入表。用户查看购物车时只要把有该用户ID的购物信息读出来就行了。维护这张表就可以体现出用户的购物行为了。