php用session实现购物车,php 利用session 实现最简单的方式实现购物车类

class cart

{

/**

* 函数名称: addItem

* 函数功能: 添加商品

* 输入参数: $data ------------- 商品数组

* 函数返回值: none

* 其它说明: 因为数据是记录在session中,所以不用返回

*/

function addItem($data){

global $config_kezhi;

if(is_array($data)&&!empty($data)){

foreach($data as $key=>$val){

// 如果商品存在就加数量和价格

if($this->_isExists($key)){

$_SESSION['cart'][$key]["paddy_count"] += $val['paddy_count'];

$_SESSION['cart'][$key]["market_count"] += $val['market_count'];

$_SESSION['cart'][$key]["goodsnum"] += intval($val['goodsnum']);

$arr = $this->getItems($key);

// $_SESSION['cart'][$key]["count"] += $_SESSION['cart'][$key]["price"];

/* if(strlen($_SESSION['cart'][$key]["kezhi"])>0){//没有刻字,加入刻字

$_SESSION['cart'][$key]["eng_price"]=0;

$_SESSION['cart'][$key]["eng_price"]=(int)$config_kezhi*intval($arr['num']);

}else{

//die("dd");

$_SESSION['cart'][$key]["eng_price"]=0;

}*/

//echo $arr['num'];

//die();

}

// 否则直接加入

else

{

$_SESSION['cart'][$key] = $data[$key];

// $_SESSION['cart'][$key]["name"] = $val['name'];

// $_SESSION['cart'][$key]["price"] = $val['price'];

// $_SESSION['cart'][$key]["count"] = round($val['price']*intval($val['num']),2);

// $_SESSION['cart'][$key]["num"] = intval($val['num']);

}

}

}

}

/**

* 函数名称: _isExists

* 函数功能: 判断此商品是否存在

* 输入参数: $id ---------- 商品ID

* 函数返回值: bool

* 其他说明: 2004-8-19

*/

function _isExists($id)

{

if(isset($_SESSION['cart'][$id])&&!empty($_SESSION['cart'][$id])&&array_key_exists($id,$_SESSION['cart']))

{

Return true;

}

else

{

Return false;

}

}

/**

* 函数名称: modItem

* 函数功能: 修改商品数量

* 输入参数: $id -------------- 商品ID

* $num ------------- 商品数量

* 函数返回值: 返回值说明

* 其他说明: 说明

*/

function modItem($id,$num)

{

$arr = $this->getItems($id);

// 如果商品存在就加数量和价格

if($this->_isExists($id))

{

$_SESSION['cart'][$id]["goodsnum"] = intval($num);

if($arr['paddy_price_special'] > "0"){

$_SESSION['cart'][$id]["paddy_count"] = round($arr['paddy_price_special']*intval($num),2);

}elseif($arr['paddy_userprice'] > "0"){

$_SESSION['cart'][$id]["paddy_count"] = round($arr['paddy_userprice']*intval($num),2);

}elseif($arr['paddy_spreadprice'] > "0"){

$_SESSION['cart'][$id]["paddy_count"] = round($arr['paddy_spreadprice']*intval($num),2);

}else{

$_SESSION['cart'][$id]["paddy_count"] = round($arr['paddy_price']*intval($num),2);

}

$_SESSION['cart'][$id]["market_count"] = round($arr['market_price']*intval($num),2);

}

}

/**

* 函数名称: modItem_wanwei

* 函数功能: 修改商品腕围

* 输入参数: $id -------------- 商品ID

* $num ------------- 商品腕围

* 函数返回值: 返回值说明

* 其他说明: 说明

*/

function modItem_wanwei($id,$wanwei)

{

$arr = $this->getItems($id);

// 如果商品存在就加数量和价格

if($this->_isExists($id))

{

$_SESSION['cart'][$id]["wanwei"] = intval($wanwei);

///$_SESSION['cart'][$id]["count"] = round($arr['price']*intval($num),2);

}

}

// function modItem_kezhi($id,$kezhi)

// {

// global $config_kezhi;

// $arr = $this->getItems($id);

// // 如果商品存在就加数量和价格

// if($this->_isExists($id))

// {

// $_SESSION['cart'][$id]["kezhi"] = $kezhi;

// $_SESSION['cart'][$id]['price'] = $arr['price'] + $config_kezhi;

// $_SESSION['cart'][$id]['count'] = round($_SESSION['cart'][$id]['price']*intval($arr['num']),2);

// }

// }

function modItem_kezhi($id,$kezhi,$kezhi1="",$kezhi2="")

{

global $config_kezhi;

$arr = $this->getItems($id);

// 如果商品存在就加数量和价格

//var_dump($_SESSION['cart']);

// die();

if($this->_isExists($id))

{

if(strlen($_SESSION['cart'][$id]["kezhi"]) == 0 && strlen($kezhi) != 0){//没有刻字,加入刻字

//$arr['price'] += $config_kezhi;

$_SESSION['cart'][$id]["eng_price"]=0;

$_SESSION['cart'][$id]["eng_price"]=(int)$config_kezhi*intval($arr['num']);

//$_SESSION['cart'][$id]["price"] = $arr['price'];

// $_SESSION['cart'][$id]["count"] = round($arr['price']*intval($arr['num']),2);

$_SESSION['cart'][$id]["kezhi"] = $kezhi;

$_SESSION['cart'][$id]["kezhi1"] = $kezhi1;

$_SESSION['cart'][$id]["kezhi2"] = $kezhi2;

///$_SESSION['cart'][$id]["count"] = round($arr['price']*intval($num),2);

}elseif(strlen($_SESSION['cart'][$id]["kezhi"]) != 0 && strlen($kezhi) == 0){//有刻字,去除刻字

$_SESSION['cart'][$id]["eng_price"]=0;

//$_SESSION['cart'][$id]["eng_price"]-=(int)$config_kezhi*intval($arr['num']);

// $_SESSION['cart'][$id]["eng_price"]-=$config_kezhi;

//$_SESSION['cart'][$id]["price"] = $arr['price'];

//$_SESSION['cart'][$id]["count"] = round($arr['price']*intval($arr['num']),2);

$_SESSION['cart'][$id]["kezhi"] = $kezhi;

$_SESSION['cart'][$id]["kezhi1"] = $kezhi1;

$_SESSION['cart'][$id]["kezhi2"] = $kezhi2;

}elseif(strlen($_SESSION['cart'][$id]["kezhi"]) != 0 && strlen($kezhi) != 0){//有刻字,更改刻字

//$_SESSION['cart'][$id]["count"] = round($arr['price']*intval($arr['num']),2);

//$_SESSION['cart'][$id]["eng_price"]=0;

$_SESSION['cart'][$id]["eng_price"]=(int)$config_kezhi*intval($arr['num']);

$_SESSION['cart'][$id]["kezhi"] = $kezhi;

$_SESSION['cart'][$id]["kezhi1"] = $kezhi1;

$_SESSION['cart'][$id]["kezhi2"] = $kezhi2;

}

}

}

/**

* 函数名称: getItems

* 函数功能: 取得商品数组

* 输入参数: $id --------------- 某商品的ID

* 函数返回值: array

* 其它说明: 2004-8-19

*/

function getItems($id=null)

{

if(isset($_SESSION['cart']))

{

if($id==null)

{

//print_r($_SESSION['cart']);exit;

Return $_SESSION['cart'];

}

else

{

Return $_SESSION['cart'][$id];

}

}

}

/**

* 函数名称: emptyItem

* 函数功能: 删除商品

* 输入参数: $id ----------- 商品ID

* 函数返回值: bool

* 其它说明: 2004-8-19

*/

function emptyItem($id=null)

{

if($id==null)

{

unset($_SESSION['cart']);

}

else

{

unset($_SESSION['cart'][$id]);

}

}

/**

* 函数名称: sum

* 函数功能: 统计总价

* 输入参数: none

* 函数返回值: int

* 其它说明: 2004-8-19

*/

function sum()

{

$total = 0;

if(isset($_SESSION['cart'])&&!empty($_SESSION['cart']))

{

foreach($_SESSION['cart'] as $key=>$val)

{

$total += $val['count'];

}

}

Return $total;

}

}

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值