PHP+MYSQL+SESSION+ThinkPHP实现简单购物车功能教学提纲.docx
- 文档编号:10090210
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:15
- 大小:17.25KB
PHP+MYSQL+SESSION+ThinkPHP实现简单购物车功能教学提纲.docx
《PHP+MYSQL+SESSION+ThinkPHP实现简单购物车功能教学提纲.docx》由会员分享,可在线阅读,更多相关《PHP+MYSQL+SESSION+ThinkPHP实现简单购物车功能教学提纲.docx(15页珍藏版)》请在冰豆网上搜索。
PHP+MYSQL+SESSION+ThinkPHP实现简单购物车功能教学提纲
PHP+MYSQL+SESSION+ThinkPHP实现简单购物车功能
PHP+MYSQL+SESSION实现简单购物车功能,
功能列表如下:
∙1、将物品存入购物车
∙2、将购物车物品删除
∙3、修改购物物品购买数量【+1/-1】
∙4、对购物车物品进行统计
o4.1、总项目
o4.2、总数量
o4.3、总金额
∙5、对购物车单项物品的数量及金额进行统计
∙6、清空购物车
classMycartAction{
函数01、functionaddGoods
/**
*函数:
addGoods
*功能:
将物品放入购物车[SESSION]中
*简介:
将指定物品信息$goods存入指定名$cartName的购物车中,默认在物品信息首部附加“购物车物品序号”$skey
*时间:
2011年7月28日23:
51:
40
*作者:
zhjp
*Enterdescriptionhere...
*待完善项:
在存入购物车之前先进行判断所选物品是否已经存在,是:
只修改购买数量、否:
存入购物车
*@paramString$cartName
*@paramString$goodsStr
*/
publicfunctionaddGoods($cartName,$goodsStr){
$skey=count($_SESSION[$cartName]);
//处理物品信息
$goodsStr=$skey.','.$goodsStr;
switch($cartName){
case'flyCart':
break;
case'mallCart':
//配置物品字段,返回可读性更强的数组格式的物品信息
$goodsArr=$this->_setGoodsFields($goodsStr);
break;
case'hotelCart':
break;
}
//物品存入购物车
$_SESSION[$cartName][$skey]=$goodsArr;
//更新购物车信息
$this->_updateCart($cartName);
}
函数02、functiondelGoods
/**
*函数:
delGoods
*功能:
删除购物车[SESSION]中的某一物品
*简介:
根据提供的购物车名$cartName及指定购物车物品序号$skey将该物品记录置空值
*时间:
2011年7月30日23:
00:
59
*作者:
byzhjp
*Enterdescriptionhere...
*@paramString$cartName
*@paramInt$skey
*/
publicfunctiondelGoods($cartName,$skey){
if(!
isset($_SESSION[$cartName])){return;}
if($_SESSION[$cartName]['ITEMS']==1){
//$this->clearAll($cartName);
}else{
//删除指定物品
$_SESSION[$cartName][$skey]=null;
}
//更新购物车信息
$this->_updateCart($cartName);
}
函数03、functionclearAll
/**
*函数:
clearAll
*功能:
清空购物车中的所有物品信息
*简介:
根据提供的购物车名$cartName将该购物车清空
*时间:
2011年7月30日23:
07:
21
*作者:
byzhjp
*Enterdescriptionhere...
*@paramString$cartName
*/
publicfunctionclearAll($cartName){
if(isset($_SESSION[$cartName])){
unset($_SESSION[$cartName]);
}else{
return;
}
}
函数04、functioneditCart
/**
*函数:
editCart
*功能:
编辑购物车信息[物品购物数量+1-1]
*简介:
根据提供的购物车名$cartName及操作名$action结合指定购物车物品序号$skey对指定物品的购买数量进行+1-1操作
*时间:
2011年7月30日23:
09:
27
*作者:
byzhjp
*Enterdescriptionhere...
*@paramString$cartName
*@paramString$action[plus+][minus-]
*@paramInt$skey
*/
publicfunctioneditCart($cartName,$action,$skey){
if(!
isset($_SESSION[$cartName])){return;}
switch($action){
case'plus':
$this->_plusOne($cartName,$skey);
break;
case'minus':
$this->_minusOne($cartName,$skey);
break;
}
//更新购物车信息
$this->_updateCart($cartName);
}
函数05、functionsearchGoods
/**
*函数:
searchGoods
*功能:
查找购物车物品信息
*简介:
可供添加物品操作调用,如果所添加物品已存在则购物数量+1,反之将物品存入购物车
*时间:
2011年8月1日19:
14:
23
*作者:
byzhjp
*Enterdescriptionhere...
*/
publicfunctionsearchGoods(){
}
函数06、functiongetCartInfo
/**
*函数:
getCartInfo
*功能:
获取购物车基本信息【二维数组格式呈现TDArr】
*简介:
将购物车中的基本信息数据转化成二维数组【总项目items】【总数量total】【总金额money】
*时间:
2011年7月30日23:
14:
20
*作者:
byzhjp
*Enterdescriptionhere...
*@paramString$cartName
*/
publicfunctiongetCartInfo($cartName){
if(!
isset($_SESSION[$cartName])){return;}
$infoArr=array();
if(isset($_SESSION[$cartName])){
$items=$_SESSION[$cartName]['ITEMS'];
$total=$_SESSION[$cartName]['TOTAL'];
$money=$_SESSION[$cartName]['MONEY'];
$infoArr=array('ITEMS'=>$items,'TOTAL'=>$total,'MONEY'=>$money);
}else{
unset($infoArr);
}
return$infoArr;
}
函数07、functiongetCartList
/**
*函数:
getCartList
*功能:
获取购物车所有的商品数据【二维数组格式呈现TDArr】
*简介:
将购物车中的全部商品数据转化成二维数组,不带HTML代码符
*时间:
2011年7月28日23:
56:
38
*作者:
*Enterdescriptionhere...
*@paramString$cartName
*/
publicfunctiongetCartList($cartName){
if(isset($_SESSION[$cartName])){
$allGoodsTDArr=array();
foreach($_SESSION[$cartName]as$k=>$v){
if(is_array($v)){
$allGoodsTDArr[]=$v;
}
}
}
return$allGoodsTDArr;
}
函数08、function_setGoodsFields
/**
*函数:
_setGoodsFields
*功能:
配置物品字段,将一条物品记录字符串转化成有相应字段名的数组
*简介:
*0123456
*keyidcodenameextendpricenumbmoney
*其中key为购物车商品记录对应的SESSION数组key
*时间:
2011年7月28日23:
27:
59
*作者:
byzhjp
*Enterdescriptionhere...
*@paramunknown_type$goodsStr
*/
privatefunction_setGoodsFields($goodsStr){
//id,code,name,extend,price
$str2Arr=split(',',$goodsStr);
$goodsArr=array(
'key'=>$str2Arr[0],
'id'=>$str2Arr[1],
'code'=>$str2Arr[2],
'name'=>$str2Arr[3],
'extend'=>$str2Arr[4],
'price'=>$str2Arr[5],
'numb'=>$str2Arr[6],
'money'=>number_format($str2Arr[5]*$str2Arr[6],2));
return$goodsArr;
}
函数09、function_plusOne
/**
*函数:
_plusOne
*功能:
将物品的购买数量+1
*简介:
根据提供的购物车物品序号$skey将指定的商品数量+1
*时间:
2011年7月30日23:
24:
26
*作者:
byzhjp
*Enterdescriptionhere...
*@paramString$cartName
*@paramInt$skey
*/
privatefunction_plusOne($cartName,$skey){
if(!
isset($_SESSION[$cartName])){return;}
//指定物品购买数量+1
$_SESSION[$cartName][$skey]['numb']+=1;
//更新小计金额
$price=$_SESSION[$cartName][$skey]['price'];
$numb=$_SESSION[$cartName][$skey]['numb'];
$_SESSION[$cartName][$skey]['money']=number_format($price*$numb,2);
//更新购物车信息
$this->_updateCart($cartName);
}
函数10、function_minusOne
/**
*函数:
_minusOne
*功能:
将物品的购买数量-1
*简介:
根据提供的购物车物品序号$skey将指定的商品数量-1
*时间:
2011年7月30日23:
27:
19
*作者:
byzhjp
*Enterdescriptionhere...
*@paramunknown_type$cartName
*@paramunknown_type$skey
*/
privatefunction_minusOne($cartName,$skey){
if(!
isset($_SESSION[$cartName])){return;}
//指定物品购买数量-1
if($_SESSION[$cartName][$skey]['numb']>1){
$_SESSION[$cartName][$skey]['numb']-=1;
//更新小计金额
$price=$_SESSION[$cartName][$skey]['price'];
$numb=$_SESSION[$cartName][$skey]['numb'];
$_SESSION[$cartName][$skey]['money']=number_format($price*$numb,2);
}
//更新购物车信息
$this->_updateCart($cartName);
}
函数11、function_countMoney
/**
*函数:
_countMoney
*功能:
统计购物车物品总金额
*简介:
总金额[MONEY]
*时间:
2011年7月31日03:
17:
52
*作者:
byzhjp
*Enterdescriptionhere...
*@paramString$cartName
*/
privatefunction_countMoney($cartName){
if(!
isset($_SESSION[$cartName])){return;}
$count=0.0;
switch($cartName){
case'flyCart':
break;
case'mallCart':
$cartList=$this->getCartList($cartName);
foreach($cartListas$k=>$v){
$count+=$v['money'];
}
$_SESSION[$cartName]['MONEY']=number_format($count,2);
break;
case'hotelCart':
break;
}
}
函数12、function_countItems
/**
*函数:
_countItems
*功能:
统计购物车物品总项目
*简介:
总项目[ITEMS]
*时间:
2011年7月31日03:
23:
20
*作者:
byzhjp
*Enterdescriptionhere...
*@paramString$cartName
*/
privatefunction_countItems($cartName){
if(!
isset($_SESSION[$cartName])){return;}
$count=0;
switch($cartName){
case'flyCart':
break;
case'mallCart':
$cartList=$this->getCartList($cartName);
foreach($cartListas$k=>$v){
if(is_array($v)){
$count++;
}
}
$_SESSION[$cartName]['ITEMS']=$count;
break;
case'hotelCart':
break;
}
}
函数13、function_countTotal
/**
*函数:
_countTotal
*功能:
统计购物车物品总数量
*简介:
总数量[TOTAL]
*时间:
2011年7月31日03:
27:
11
*作者:
byzhjp
*Enterdescriptionhere...
*@paramString$cartName
*/
privatefunction_countTotal($cartName){
if(!
isset($_SESSION[$cartName])){return;}
$count=0;
switch($cartName){
case'flyCart':
break;
case'mallCart':
$cartList=$this->getCartList($cartName);
foreach($cartListas$k=>$v){
$count+=$v['numb'];
}
$_SESSION[$cartName]['TOTAL']=$count;
break;
case'hotelCart':
break;
}
}
函数14、function_updateCart
/**
*函数:
_updateCart
*功能:
更新统计购物车基本信息
*简介:
重新统计购物车基本信息【总项目ITEMS/总金额MONEY/总数量TOTAL]
*时间:
2011年7月31日03:
31:
18
*作者:
byzhjp
*Enterdescriptionhere...
*@paramString$cartName
*/
privatefunction_updateCart($cartName){
$this->_countItems($cartName);
$this->_countMoney($cartName);
$this->_countTotal($cartName);
}
}
PS:
实现的功能比较简单.
放在这里呢
一是作为自己的学习记录
二呢希望对同是初学路人甲有所帮助
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP MYSQL SESSION ThinkPHP 实现 简单 购物 功能 教学 提纲
![提示](https://static.bdocx.com/images/bang_tan.gif)