php购物车内物品删除,Thinkphp——商品加入购物车在购物车列表显示(还有购物车删除)...

1.商品详情页面添加到购物车如下:

ab6f841b003ba0191171143f50540d3f.png

2.对应的控制器里有操作方法

//添加到购物车

function addTocart(){

if(I("sub",0)){

$goods_id=I("goodsId",0);//获取goodsId参数 自动判断get或者post

$goods_num=I("goodsNum",0);

//如果是登录状态(购物车数据存入数据库)

if(session("user_id")){

$uid=session("user_id");

D('Cart')->addToCart($uid,$goods_id,$goods_num);

if($data){

echo "";

}

}else{//否则没有登录时如下,(没登录,购物车数据存入session)

$arr=array("goods_id"=>$goods_id,"goods_num"=>$goods_num);

$data=unserialize(session("cart"));//取出session里其他的数据

$is_repeat=false;

foreach($data as $k=>$v){

if($v['goods_id']==$goods_id){//如果数据重复,就更新数据

$data[$k]['goods_num']=$goods_num;

$is_repeat=true;

}

}

if(!$is_repeat){//如果不重复,就追加一个

$data[]=$arr;

}

$data=serialize($data);//serialize() 把变量和它们的值编码成文本形式

session("cart",$data);//然后存入session

}

echo "";

}

};

fde716b25a1fd95bb7e6263a58f39214.png

3.加入购物车要用到的CartModel.class.php如下:

//Cart购物车数据模型Model

namespace Home\Model;

use Think\Model;

class CartModel extends Model{

//可以给当前Model进行一些个性化的设计

function addToCart($uid,$goods_id,$goods_num){

/*echo $uid,$goods_id,$goods_num;*/

$arr=array("goods_id"=>$goods_id,"goods_num"=>$goods_num);

$data=unserialize($this->getCart($uid));//根据唯一索引uid查询

$is_repeat=false;

foreach($data as $k=>$v){

if($v['goods_id']==$goods_id){//如果数据重复,就更新数据

$data[$k]['goods_num']=$goods_num;

$is_repeat=true;

}

}

if(!$is_repeat){//如果不重复,就追加一个

$data[]=$arr;

}

$data=serialize($data);//serialize() 把变量和它们的值编码成文本形式

$ndata=array();

$ndata["cart_uid"]=$uid;

$ndata["update_time"]=date("Y-m-d h:i:s");

$ndata["cart_info"]=$data;

$this->add($ndata,array(),true);

}

function getCart($uid){

return $this->where("cart_uid='{$uid}'")->getField("cart_info");

}

}

?>

af7e7a3d2b2e75464a9b4576b12fa831.png

4.然后建一个购物车控制器CartController.class.php:

862a4afe3ee044838c253b8cf7068821.png

5.模板里如下所示:

be9cea99fc2c240c178b200089594c46.png

6.如果好多个页面都需要显示购物车里商品数和总价格,在CartController控制器里建一个如下方法:

77521f99db9b9e9f4b52c859b3369632.png

在其他控制器里跨控制器引用:

aa44184ad0152ad6d59959aaf57b9a36.png

模板里{$Number}即可

购物车删除如下:

8262a59af4d46c74f1872df7d8fe4cb6.png

控制器里如下:

e446f013284070e369651f4eb0436913.png

初学者如需购买thinkphp程序(包括前后台),加个人微信LBXZFR2013

微信扫描关注“公众号”有惊喜

公众号ID“lbxzsan7378”

682914.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值