一个包含促销活动的购物车,用到了PHP的zend framework框架。

购物车的数据库设计:

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这个字段,考虑到的是用户未登陆下也可以把商品放入购物车。

识别购物车到底是哪一位用户时,需要用到session_id,是用户对应购物车的唯一识别码。

生成这个码可以放在购物车对象Cart的构造函数里:

代码发下:

复制代码 代码示例:

/**

* 购物车类购物方法

* @param string $cart_id 购物车ID

*/

public function __construct()

{

Zend_Session::start();

$this->_session = new Zend_Session_Namespace('ShopCart');

if(!isset($this->_session->session_id))

{

$this->_session->session_id = md5(uniqid(mt_rand(), true));

$this->_session->info = array();

}

$this->_cart_id = $this->_session->session_id;

}

?>

第三点,添加一个商品到购物车。

添加一个商品到购物车,在这里,我把它想成是两个动作。

第一个动作:添加商品到购物车数据库里面。

第二个动作:查找购物车所有商品,并显示出来。

首先是第一个动作:

代码如下:

复制代码 代码示例:

/**

* 添加商品

*/

public function goodsAddAction()

{

// 添加商品使用get请求

$goods_id = $this->_getParam('goods_id');//商品ID

$goods_spec = $this->_getParam('filter_name');//商品属性(颜色,尺码)

$goods_number = $this->_getParam('goods_number');//商品数量

$promote_name = $this->_getParam('promote_name', 'Default');//促销策略

//获取购物车实例

$cartB = $this->_getCart();

$cartB->goodsAdd($goods_id, $goods_spec, $goods_number, $promote_name);

//添加成功,跳转到下一步,查找购物车所有商品,并显示出来。

$this->_showMessage(Bll_Context::isError() ? Bll_Context::getError() : '添加到购物篮成功!', Bll_Context::getRecirect('/orderv2'), 3);

}

?>

上段代码第15行:

$cartB->goodsAdd($goods_id, $goods_spec, $goods_number, $promote_name);

这就是添加商品操作函数,这里面的$promote_name是促销的一个参数。

这里只要知道是添加这个商品的基本信息,存入到php购物车数据库里即可。

其次就是第二个动作:

复制代码 代码示例:

/**

* 购物列表

*/

public function indexAction()

{

//获取购物车实例

$cartB = $this->_getCart();

//列出购物车内所有商品

$this->view->goods_list = $cartB->goodsViewList();

//获取用于显示规则消息的规则实例列表

$this->view->tips = $cartB->goodsTipRules();

//购物车内商品总数量

$this->view->total_number = $cartB->getTotalGoodsNumber();

//获取购物车内商品总货额

$this->view->total_amount = $cartB->getTotalAmount();

}

?>

以上代码中,第一个和第二个动作必须是要分开的,允许不添加商品直接点购物车。

就是这些了,抛砖引玉吧,希望对大家有些许的启发,在下就满足了。

商城购物车php代码,php网上商城购物车代码一例相关推荐

  1. 购物车及商品php代码_php购物车代码_php网上商城购物车代码一例

    摘要 腾兴网为您分享:php网上商城购物车代码一例,有信,英语字典,携程,网赚招聘等软件知识,以及迅雷vip补丁,全能素描,苏酒门户,inshort视频剪辑,北京地铁高清大图,监控上网,云播搜,维融打 ...

  2. 购物车及商品php代码_php网上商城购物车代码一例

    一个包含促销活动的购物车,用到了PHP的zend framework框架. 购物车的数据库设计: 1. id 2. goods_id 商品ID 3. session_id 购物车ID 4. goods ...

  3. Android学习之网上商城(下)

    前言 上一篇博客主要介绍了本次网上商城的实现过程中的一些用法,这篇博客主要就是说明每个功能模式的实现方法 Android学习之网上商城(上) Android学习之网上商城(下) 源码下载: 链接:ht ...

  4. Android学习之网上商城(上)

    前言 又到了课设的时候,这次课设比较难受,因为两周时间中还有3门考试,在课设的时候还要复习,着实耗费了不少的精力,不过也收获多多,接下来总结一下本次课设中学到的东西 Android学习之网上商城(上) ...

  5. 【计算机毕业设计】123网上商城系统的设计与实现

    一.系统截图(需要演示视频可以私聊) 摘  要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式.本网上商城系统就是在这样的大环境下 ...

  6. 【计算机毕业设计】123网上商城系统设计与实现

    一.系统截图(需要演示视频可以私聊) 摘  要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式.本网上商城系统就是在这样的大环境下 ...

  7. 【计算机毕业设计】512网上商城购物系统

    一.系统截图(需要演示视频可以私聊) 摘  要 随着科学技术的飞速发展,社会的方方面面.各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,网上商城购物系统当然也不能排除在外.网上商城 ...

  8. B2B2C网上商城开发指南——基于SaaS和淘宝API开放平台

    B2B2C网上商城开发指南--基于SaaS和淘宝API开放平台邢波涛  郭  娟  著 ISBN 978-7-121-12983-4 2011年4月出版 定价:49.00元 16开 388 页 内 容 ...

  9. springboot+vue+elementui实现前后端分离的网上商城购物系统

    文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclip ...

  10. java基于springboot的网上商城购物系统

    项目介绍 随着社会的快速发展,计算机的影响是全面且深入的.人们生活水平的不断提高,日常生活中人们对网上商城购物系统方面的要求也在不断提高,购物的人数更是不断增加,使得网上商城购物系统的开发成为必需而且 ...

最新文章

  1. springboot 读取配置文件内容的几种方式
  2. C#机房重构-总结(三)
  3. 如何让你的操作系统更安全二
  4. ones--创建全1矩阵
  5. 长沙理工大学第十二届ACM大赛-重现赛C 安卓图案解锁 (模拟)
  6. db2 springboot 整合_[SpringBoot]快速配置多数据源(整合MyBatis)
  7. eclipse分级,分级列表显示 - bieshixuan的个人博客 - OSCHINA - 中文开源技术交流社区...
  8. 空闲队列函数排队 requestIdleCallback
  9. java可以看懂php代码吗_同一段代码,在PHP里和Java里都能运行,输出结果相同,你能看懂其中的原理吗?...
  10. ant压缩html,ant+yuicompressor压缩js/css
  11. 搭建软件仓库回源代理拾遗
  12. snmpwalk , snmpget
  13. Unity3D Demo
  14. 情侣推送早安问候之小程序订阅通知模板推送 (出现在消息列表的服务通知)
  15. stearm计算机验证码,steam账户名称怎么取,值得收藏
  16. 使用Python绘制热图的库 pyHeatMap 使用Python绘制热图的库 pyHeatMap
  17. 数据库相关类型(日期、复合、bit、布尔)
  18. 国家知识产权局宣告易百珑自发电专利权有效
  19. 第二章 项目经理评分
  20. PoseCNN(A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes)复现记录

热门文章

  1. java子弹集合_Java使用线程并发库模拟弹夹装弹以及发射子弹的过程
  2. intellij 上导入外部包教程
  3. options请求_跨域共享资源(CORS)和OPTIONS 请求
  4. linux map内存在哪里分配,linux内存分配与回收
  5. Java中String、StringBuffer 、StringBuilder
  6. Highways POJ-1751 最小生成树 Prim算法
  7. 2017-2018论文更新
  8. BZOJ4872: [Shoi2017]分手是祝愿
  9. html中给select下拉框赋值
  10. php对表中的字段自选排序,Mysql应用MySQL 按指定字段自定义列表排序的实现