栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

示例php实现保存周期为1天的购物车类

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

示例php实现保存周期为1天的购物车类

本文实例为大家分享了php购物车类的具体代码,供大家参考,具体内容如下

购物车类 cookies 保存,保存周期为1天 注意:浏览器必须支持cookie才能够使用

示例代码:

Expires = $Expires;
      $this->addCart($Id,$Name,$Price1,$Price2,$Price3,$Count,$Image);
    }
  }
  
  public function addCart($Id,$Name,$Price1,$Price2,$Price3,$Count,$Image) {
    $this->CartArray = $this->CartView(); // 把数据读取并写入数组
    if ($this->checkItem($Id)) { // 检测商品是否存在
      $this->ModifyCart($Id,$Count,0); // 商品数量加$Count
      return false;
    }
    $this->CartArray[0][$Id] = $Id;
    $this->CartArray[1][$Id] = $Name;
    $this->CartArray[2][$Id] = $Price1;
    $this->CartArray[3][$Id] = $Price2;
    $this->CartArray[4][$Id] = $Price3;
    $this->CartArray[5][$Id] = $Count;
    $this->CartArray[6][$Id] = $Image;
    $this->save();
  }
  
  public function ModifyCart($Id, $Count, $Flag = "") {
    $tmpId = $Id;
    $this->CartArray = $this->CartView(); // 把数据读取并写入数组
    $tmpArray = &$this->CartArray; // 引用
    if (!is_array($tmpArray[0])) return false;
    if ($Id < 1) {
      return false;
    }
    foreach ($tmpArray[0] as $item) {
      if ($item === $tmpId) {
 switch ($Flag) {
   case 0: // 添加数量 一般$Count为1
     $tmpArray[5][$Id] += $Count;
     break;
   case 1: // 减少数量
     $tmpArray[5][$Id] -= $Count;
     break;
   case 2: // 修改数量
     if ($Count == 0) {
unset($tmpArray[0][$Id]);
unset($tmpArray[1][$Id]);
unset($tmpArray[2][$Id]);
unset($tmpArray[3][$Id]);
unset($tmpArray[4][$Id]);
unset($tmpArray[5][$Id]);
unset($tmpArray[6][$Id]);
break;
     } else {
$tmpArray[5][$Id] = $Count;
break;
     }
   case 3: // 清空商品
     unset($tmpArray[0][$Id]);
     unset($tmpArray[1][$Id]);
     unset($tmpArray[2][$Id]);
     unset($tmpArray[3][$Id]);
     unset($tmpArray[4][$Id]);
     unset($tmpArray[5][$Id]);
     unset($tmpArray[6][$Id]);
     break;
   default:
     break;
 }
      }
    }
    $this->save();
  }
  
  public function RemoveAll() {
    $this->CartArray = array();
    $this->save();
  }
  
  public function CartView() {
    $cookie = stripslashes($_cookie['CartAPI']);
    if (!$cookie) return false;
    $tmpUnSerialize = unserialize($cookie);
    return $tmpUnSerialize;
  }
  
  public function checkCart() {
    $tmpArray = $this->CartView();
    if (count($tmpArray[0]) < 1) {      
      return false;
    }
    return true;
  }
  
  public function CountPrice() {
    $tmpArray = $this->CartArray = $this->CartView();
    $outArray = array(); //一维数组
    // 0 是产品1的总价格
    // 1 是产品2的总价格
    // 2 是产品3的总价格
    // 3 是产品的总数量
    $i = 0;
    if (is_array($tmpArray[0])) {
      foreach ($tmpArray[0] as $key=>$val) {
 $outArray[0] += $tmpArray[2][$key] * $tmpArray[5][$key];
 $outArray[1] += $tmpArray[3][$key] * $tmpArray[5][$key];
 $outArray[2] += $tmpArray[4][$key] * $tmpArray[5][$key];
 $outArray[3] += $tmpArray[5][$key];
 $i++;
      }
    }
    return $outArray;
  }
  
  public function CartCount() {
    $tmpArray = $this->CartView();
    $tmpCount = count($tmpArray[0]);
    $this->CartCount = $tmpCount;
    return $tmpCount;
  }
  
  public function save() {
    $tmpArray = $this->CartArray;
    $tmpSerialize = serialize($tmpArray);
    setcookie("CartAPI",$tmpSerialize,time()+$this->Expires);
  }
  
  private function checkItem($Id) {
    $tmpArray = $this->CartArray;
    if (!is_array($tmpArray[0])) return;
    foreach ($tmpArray[0] as $item) {
      if ($item === $Id) return true;
    }
    return false;
  }
}
?>

相关学习推荐:PHP编程从入门到精通

以上就是示例php实现保存周期为1天的购物车类的详细内容,更多请关注考高分网其它相关文章!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/262829.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号