利用PHP实现一个简单购物车的demo示例代码
数据结构跟关于PHP写购物车大体差不多,这里站长主要就购物车的主要业务逻辑进行一下说明:
1、用户未登陆时只能浏览商品,不能将其加入购物车
2、当未登陆用户进行将商品加入购物车操作时,会提示其登录
3、登陆后,用户可以将商品加入购物车,这其中涉及几个判断。一,如果用户当前添加的商品已经在购物车中存在,并且状态为未支付,那么只更新该商品的数量和总价格,而不会重复添加一条记录;二,如果用户当前添加的商品在购物车中不存在或者同样的商品存在但是已经被支付过,那么说明用户是准备新购买的,则生成新的订单号,在数据库添加该商品的一条记录。
要注意的是,我这里设计的是,购物车中凡事未支付的商品都共用一个订单号,也就是说,如果你添加一个商品A到购物车,订单号为1,但是还没有支付,你又继续添加一个商品B到购物车,那么订单号还是1。
4、用户可以将商品添加入购物车,但是暂时不支付,购物车有效期功能,考虑到是demo,未实现。用户登录后,可以通过点击“我的购物车”进入查看订单记录,包括未支付订单和已支付订单。在查看未支付订单记录时,可以通过点击“现在结算”对购物车中的商品实现支付。由于是简单的demo,这里设计的是“结算所有未支付商品”,在实际的开发产品中,可能应该实现用户有选择的结算商品。
5、支付接口未实现。在结算时,当确认用户已经支付后,将已支付的订单记录写入订单表,并更新商品的售出数量。
6、同样是考虑到demo的原因,在查询具体商品时,未对当前的库存状态做判断,在实际开发中,应对库存做判断,如果该商品已经售完应该给出提示。
7、demo中还包含有简单的注册、登录功能,不做具体介绍,稍微提一下的是,在注册时,站长设计的是区分英文大小写的,即admin和Admin为不同的帐号。
8、本demo不包含后台管理
9、本demo可供高校毕业生做毕业设计参考
demo下载:bookshop
安装说明:
1、数据库配置均在conn.inc中,数据库用户名都是root,数据库名bookshop,数据库文件bookshop.sql,大家可根据自身情况进行修改
2、默认帐户admin,密码00000000(8个零)
3、demo使用中如遇到问题请联系站长