°

php删除购物车中的商品的思路

PHP实战视频教程大全

tp5第四季商城项目的时候遇到的这个问题,记录一下解决思路,怕自己忘了,解决一些问题还是挺有意思的。

有时候我们会在购物车中加入一些商品,数量少的话我们可以慢慢删除,数量多最好可以批量删除,下面我们就说说我们是怎么实现这两个功能的。

效果如图:

图中我们可以看到,我们可以通过商品右侧的删除按钮删除单个的商品,同样可以通过购物车页面左下角的 删除选中的商品 按钮删除所有处于选定状态的商品。

单个删除处理方案:

[php]
//删除一条购物车记录
public function delCart($idAttr){
$cart=isset($_COOKIE[‘cart’]) ? unserialize($_COOKIE[‘cart’]) : array();
$key=$idAttr;
unset($cart[$key]);
$aMonth=time()+30*24*3600;
setcookie(‘cart’,serialize($cart),$aMonth,’/’);
}
[/php]

其中我们传递的参数是根据我们自己的业务需求和前台代码来的,在这里解决思路才是重点。

上面的代码的本质就是将我们保存到cookie的数据删除一部分之后重新写入cookie

批量删除处理思路:

[php]
//批量删除购物车记录
public function deleteCartGoods($cartValue){
$cart=isset($_COOKIE[‘cart’]) ? unserialize($_COOKIE[‘cart’]) : array();
$cartValue=explode(‘@’, $cartValue);
// [
// ’16-74,76′,
// ’15-68,69′
// ]
foreach ($cartValue as $k => $v) {
unset($cart[$v]);
}
$aMonth=time()+30*24*3600;
setcookie(‘cart’,serialize($cart),$aMonth,’/’);
}
[/php]

总体来说购物车的逻辑处理并不算非常复杂,大家是可以理解的。

打赏
  喜欢