background image

php 网上商城购物车代码一例

一个包含促销活动的购物车,用到了

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;
}
?>
第三点,添加一个商品到购物车。