一个包含促销活动的购物车,用到了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的构造函数里:

代码发下: 代码示例:

php

/**

* 购物车类购物方法

* @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->ti

ps = $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实现的购物车代码,功能实现完整,具有一定的参考价值 这里我们为你提供个简单的php购物车代码,从增加购物产品与发生购买了,在商城开发中,这个功能是少不了的 具体分析如下: 对购物车里 ...

  3. 商品导航--仿电器网上商城导航jquery代码

    <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3c.org ...

  4. python购物车代码_python简单商城购物车实例代码

    本文为大家分享一个简单商城购物车的python代码,供大家参考,具体内容如下 要求: 1.写一段商城程购物车序的代码 2.用列表把商城的商品清单存储下来,存到列表 shopping_mail 3.购物 ...

  5. Java 代码简单模拟商城购物车

    纯Java代码模拟简单购物车功能 1.Product类 import java.util.Objects;public class Product implements Comparable{priv ...

  6. php 表情 代码_PHP 大量QQ表情代码替换

    跳至 [1] [2] [全屏预览]'撇嘴', '[face2.gif]'=>'色', '[face3.gif]'=>'发呆', '[face4.gif]'=>'得意', '[face ...

  7. php怎么写更新代码,留言板代码_php留言板更新代码

    摘要 腾兴网为您分享:php留言板更新代码,政务易,小米手环,无忧兼职,同花顺等软件知识,以及中国农技推广app,化学元素周期表高清,杀毒软件2012,汽车票app,艾肯micu驱动,instagra ...

  8. 计数器代码php,计数器代码_php计数器的简单代码举例

    摘要 腾兴网为您分享:php计数器的简单代码举例,自动刷宝,中国人保,知富,优学堂等软件知识,以及互博,e动生命,大采集,bing输入法,一起看地图,万能福利吧,小象嗨tv,精灵宝可梦究极日月,社保, ...

  9. php mysql删除代码_php删除数据库的代码

    php删除数据库的代码是"drop database ;",其中drop命令用于删除数据库,参数"database"的值是指定要删除的数据库名. MySQL 删 ...

最新文章

  1. Hybrid Error Correction approach and DeNovo Assembly for MinIon Sequencing Long Reads
  2. 分隔符怎么打出来_男孩地铁上打奶奶,踹爷爷:熊孩子都是怎么培养出来的?...
  3. centos 下postgres源码安装
  4. 计算机及网络技术发展趋势,网络技术发展对计算机技术的影响
  5. rpm 软件的安装和卸载
  6. 只在堆上或只在栈上定义对象
  7. IHttpModule 与IHttpHandler的区别
  8. linux 安全审计
  9. 计算机网络安全-RSA加密原理
  10. 漢城博殺的日子 (一)
  11. 使用临时表的另外一种方式
  12. python访问字符串中的部分字符的操作_python中字符串的常见操作方法
  13. 东南大学成贤学院计算机报名,2019上半年东南大学成贤学院全国计算机等级考试预报名通知...
  14. 【读书笔记】iOS-访问网络
  15. GitHub上有不错的 C 开源项目?
  16. java 8 64位官方下载_Java 8下载 Java 8.0U181官方正式版(32位/64位) 下载-脚本之家
  17. Unity草地/草坪案例分享(完整代码)
  18. 卷积码树状图怎么画_卷积码状态图怎么画 卷积编码器状态图画法
  19. 机器学习与数据挖掘的关系
  20. matlab怎么把弧度换成度,matlab弧度与角度转换

热门文章

  1. 如新:扎根中国,坚守使命,迈向新未来
  2. ​脑机接口(BCI)与人工智能:仅用思想来控制周围事物是什么感觉?
  3. 利用cloudflare让未备份域名转发至自己服务器地址
  4. 计算机毕业设计之java+ssm直销模式下家具工厂自建网站
  5. [golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析
  6. kafka-应用场景
  7. Source Insight 4.0使用技巧
  8. js实现简单的登录注册
  9. Python 散点图 回归拟合 带误差 各参数详解(2)
  10. 华为云会议智能会议室助力财通证券加速数字化