PHP基于SESSION的超级好用购物车类
2014-08-26 15:18
225 查看
<?php session_start(); /* * 基于session的shopcart类 * caroltc * 312493732@qq.com * 2014/08/26 * */ class Shopcart{ /* * template可拓展 * $shopcart = array(0=>array('goodsid'=>'','title'=>'','nums'=>'','price'=>'')); */ /*添加商品到购物车*/ public static function addGoodsToShopcart($goodsdata){ $session_shopcart = Shopcart::getShopcart(); if(count($session_shopcart)>0){ /*如果购物车不为空*/ for($i=0;$i<count($session_shopcart);$i++){ if($session_shopcart[$i]['goodsid']==$goodsdata['id']){ $session_shopcart[$i]['nums']++; $_SESSION['SJ_SHOPCART'] = serialize($session_shopcart); return ; } } $session_shopcart[count($session_shopcart)]=array('goodsid'=>$goodsdata['id'],'title'=>$goodsdata['title'],'nums'=>1,'price'=>$goodsdata['price']); $_SESSION['SJ_SHOPCART'] = serialize($session_shopcart); }else{ $session_shopcart[count($session_shopcart)]=array('goodsid'=>$goodsdata['id'],'title'=>$goodsdata['title'],'nums'=>1,'price'=>$goodsdata['price']); $_SESSION['SJ_SHOPCART'] = serialize($session_shopcart); } } /*解析购物车*/ public static function getShopcart(){ if(!empty($_SESSION['SJ_SHOPCART'])){ return unserialize($_SESSION['SJ_SHOPCART']); }else{ $shopcart = array(); $_SESSION['SJ_SHOPCART'] = serialize($shopcart); return $shopcart; } } /*获取购物车商品总数量 */ public static function getShopcartNums(){ if(!$_SESSION['SJ_SHOPCART']){ return 0; }else{ $session_shopcart = Shopcart::getShopcart(); $n=0; for($i=0;$i<count($session_shopcart);$i++){ $n += $session_shopcart[$i]['nums']; } return $n; } } /*获取购物车商品总价格 */ public static function getShopcartPrice(){ if(!$_SESSION['SJ_SHOPCART']){ return 0; }else{ $session_shopcart=Shopcart::getShopcart(); $m=0; for($i=0;$i<count($session_shopcart);$i++){ $m += $session_shopcart[$i]['nums']*$session_shopcart[$i]['price']; } return $m; } } /*添加购物车商品数量*/ public static function setShopcartNumsAdd($goodsid){ $session_shopcart=Shopcart::getShopcart(); for($i=0;$i<count($session_shopcart);$i++){ if($session_shopcart[$i]['goodsid']==$goodsid){ $session_shopcart[$i]['nums']++; $_SESSION['SJ_SHOPCART'] = serialize($session_shopcart); return ; } } } /*减少购物车商品数量 */ public static function setShopcartNumsDel($goodsid){ $session_shopcart=Shopcart::getShopcart(); for($i=0;$i<count($session_shopcart);$i++){ if($session_shopcart[$i]['goodsid']==$goodsid){ $session_shopcart[$i]['nums']--; if($session_shopcart[$i]['nums']<=0){ array_splice($session_shopcart,$i,1); //如果商品数量为0则直接删除 } $_SESSION['SJ_SHOPCART'] = serialize($session_shopcart); return ; } } } /*删除购物车一种商品*/ public static function delShopcartGoods($goodsid){ $session_shopcart=Shopcart::getShopcart(); for($i=0;$i<count($session_shopcart);$i++){ if($session_shopcart[$i]['goodsid']==$goodsid){ array_splice($session_shopcart,$i,1); //直接删除 $_SESSION['SJ_SHOPCART'] = serialize($session_shopcart); return ; } } } /*清空购物车*/ public static function clearShopcart(){ $_SESSION['SJ_SHOPCART'] = null; } } ?>
相关文章推荐
- php学习笔记(二十七)php中session的使用(基于url的)
- php里session的用法(超级经典)
- php基于redis处理session的方法
- 基于php使用memcache存储session的详解
- php里session的用法(超级经典)
- php里session的用法(超级经典)
- PHP基于cookie与session统计网站访问量并输出显示的方法
- 基于php使用memcache存储session的详解
- 基于php使用memcache存储session的详解
- PHP文件上传进度条基于Session与Javascript实现
- php基于redis处理session的方法
- php基于session实现数据库交互的类实例
- php学习笔记(二十八)session的高级管理(基于数据库和memcache的)
- PHP session购物车类
- php 简单的session 购物车类
- 基于php使用memcache存储session的详解
- php session 购物车类
- php面向对象--实现购物车类(session)
- 基于php使用memcache存储session的详解
- php学习笔记(二十六)php中session的初步使用(基于cookie的)