php外包、微信开发、app开发尽在蓝普!PHP技术服务商

php用session 实现的购物车类

< ? class Cart{ public function Cart() { if(!isset($_SESSION['cart'])){ $_SESSION['cart'] = array(); } } /* 添加商品 param int $id 商品主键 string $name 商品名称 $price 商品价格 int $num 购物数量 */ public function addItem($id,$name,$price,$num,$img) { //如果该商品已存在则直接加其数量 if (isset($_SESSION['cart'][$id])) { $this->incNum($id,$num);
return;
}
$item = array();
$item[‘id’] = $id;
$item[‘name’] = $name;
$item[‘price’] = $price;
$item[‘num’] = $num;
$item[‘img’] = $img;
$_SESSION[‘cart’][$id] = $item;
}

/*
修改购物车中的商品数量
int $id 商品主键
int $num 某商品修改后的数量,即直接把某商品
的数量改为$num
*/
public function modNum($id,$num=1) {
if (!isset($_SESSION[‘cart’][$id])) {
return false;
}
$_SESSION[‘cart’][$id][‘num’] = $num;
}

/*
商品数量+1
*/
public function incNum($id,$num=1) {
if (isset($_SESSION[‘cart’][$id])) {
$_SESSION[‘cart’][$id][‘num’] += $num;
}
}

/*
商品数量-1
*/
public function decNum($id,$num=1) {
if (isset($_SESSION[‘cart’][$id])) {
$_SESSION[‘cart’][$id][‘num’] -= $num;
}

//如果减少后,数量为0,则把这个商品删掉
if ($_SESSION[‘cart’][$id][‘num’] <1) {
$this->delItem($id);
}
}

/*
删除商品
*/
public function delItem($id) {
unset($_SESSION[‘cart’][$id]);
}

/*
获取单个商品
*/
public function getItem($id) {
return $_SESSION[‘cart’][$id];
}

/*
查询购物车中商品的种类
*/
public function getCnt() {
return count($_SESSION[‘cart’]);
}

/*
查询购物车中商品的个数
*/
public function getNum(){
if ($this->getCnt() == 0) {
//种数为0,个数也为0
return 0;
}

$sum = 0;
$data = $_SESSION[‘cart’];
($data as $item) {
$sum += $item[‘num’];
}
return $sum;
}

/*
购物车中商品的总金额
*/
public function getPrice() {
//数量为0,价钱为0
if ($this->getCnt() == 0) {
return 0;
}
$price = 0.00;
foreach ($this->items as $item) {
$price += $item[‘num’] * $item[‘price’];
}
return sprintf(“%01.2f”, $price);
}

/*
清空购物车
*/
public function clear() {
$_SESSION[‘cart’] = array();
}
}

标签:, ,

转载请注明来源蓝普网络并以链接形式标明本文地址
本文链接: http://www.wbphp.cn/html/y03/6967.html

作者:lee | 日期:2014-03-18 | 分类:新闻中心 | 评论:0 条 | 浏览:30


上一篇:
下一篇:

发表评论

*

* 以便邮件回复


给我汇款 | 合作流程 | 看看我们 | 加入我们 Copyright 2008-2016 php外包与洛阳php培训服务商. Some Rights Reserved. 豫ICP备12025288号-1