.CN 三亚资讯 生活散文
用户名:    密码:   注册
  工行 中行 建行 交行 农行 邮政银行   百度翻译        京东 微博 网易 新浪 百度        163邮箱 QQ邮箱     
首页> 电脑杂记

PHP购物车类

2023-03-12 13:21    1316次

/*****************************************************************************/
/*                                                                           */
/* file type:      包含文件,建议后缀为.inc    */
/*                                                                           */
/* file name:      cart.inc                                   */
/*                                                                           */
/* Description:    定义一个购车类                  */
/*                                                                           */
/* Func list :     class cart                                 */
/*                                                                           */
/* author :        bigeagle                                   */
/*                                                                           */
/*                                                                           */
/*****************************************************************************/
 
//定义本文件常量
define("_CART_INC_" , "exists") ;
 
/*购物车类*/
class TCart
{
 
  var $SortCount;            //商品种类数
  var $TotalCost;            //商品总价值
 
  var $Id;                   //每类商品的ID(数组)
  var $Name;                 //每类商品的名称(数组)
  var $Price;                //每类商品的价格(数组)
  var $Discount;             //商品的折扣(数组)
  var $GoodPrice ;           //商品的优惠价格(数组)
  var $Count;                //每类商品的件数(数组)
  var $MaxCount ;            //商品限量(数组)
 
  //******构造函数
  function TCart()
  {
   $this->SortCount=0;
 
   session_start(); //初始化一个session
   session_register('sId');
   session_register('sName');
   session_register('sPrice');
   session_register('sDiscount');
   session_register('sGoodPrice') ;
   session_register('sCount') ;
   session_register('sMaxCount') ;
 
   $this->Update();
   $this->Calculate();
  }
 
  //********私有,根据session的值更新类中相应数据
  function Update()
  {
    global $sId,$sName,$sPrice,$sCount,$sDiscount,$sMaxCount,$sGoodPrice;
 
   if(!isset($sId) or !isset($sName) or !isset($sPrice)
      or !isset($sDiscount) or !isset($sMaxCount)
      or !isset($sGoodPrice) or !isset($sCount)) return;
 
   $this->Id        =$sId;
   $this->Name      =$sName;
   $this->Price     =$sPrice;
   $this->Count     =$sCount;
   $this->Discount  = $sDiscount ;
   $this->GoodPrice = $sGoodPrice ;
   $this->MaxCount  = $sMaxCount ;
 
   //计算商品总数
   $this->SortCount=count($sId);
 
  }
 
  //********私有,根据新的数据计算每类商品的价值及全部商品的总价
  function Calculate()
  {
   for($i=0;$i<$this->SortCount;$i++)
   {
     /*计算每件商品的价值,如果折扣是0 ,则为优惠价格*/
     $GiftPrice = ($this->Discount[$i] == 0 ? $this->GoodPrice :
                   ceil($this->Price[$i] * $this->Discount[$i])/100 );
     $this->TotalCost += $GiftPrice * $this->Count[$i] ;
   }
  }
 
  //**************以下为接口函数
 
  //*** 加一件商品
  // 判断是否蓝中已有,如有,加count,否则加一个新商品
  //首先都是改session的值,然后再调用update() and calculate()来更新成员变量
  function Add($a_ID , $a_Name , $a_Price , $a_Discount ,
               $a_GoodPrice , $a_MaxCount , $a_Count)
  {
   global $sId , $sName , $sCount , $sPrice , $sDiscount ,
          $sGoodPrice , $sMaxCount ;
 
   $k=count($sId);
   for ($i=0; $i<$k; $i++)
   { //先找一下是否已经加入了这种商品
     if($sId[$i]==$a_ID)
     {
      $sCount[$i] += $a_Count ;
      break;
     }
   }
   if($i >= $k)
   { //没有则加一个新商品种类
    $sId[]        = $a_ID;
    $sName[]      = $a_Name;
    $sPrice[]     = $a_Price;
    $sCount[]     = $a_Count;
    $sGoodPrice[] = $a_GoodPrice ;
    $sDiscount[]  = $a_Discount ;
    $sMaxCount[]  = $a_MaxCount ;
   }
 
   $this->Update(); //更新一下类的成员数据
   $this->Calculate();
  }
 
  //移去一件商品
  function Remove($a_ID)
  {
   global $sId , $sName , $sCount , $sPrice , $sDiscount ,
          $sGoodPrice , $sMaxCount ;
 
   $k = count($sId);
   for($i=0; $i < $k; $i++)
   {
     if($sId[$i] == $a_ID)
     {
       $sCount[$i] = 0 ;
       break;
     }
   }
 
   $this->Update();
   $this->Calculate();
  }
 
  //改变商品的个数
  function ModifyCount($a_i,$a_Count)
  {
   global $sCount;
 
   $sCount[$a_i] = $a_Count ;
   $this->Update();
   $this->Calculate();
  }
 
  /***************************
  清空所有的商品
  *****************************/
  function RemoveAll()
  {
   session_unregister('sId');
   session_unregister('sName');
   session_unregister('sPrice');
   session_unregister('sDiscount');
   session_unregister('sGoodPrice') ;
   session_unregister('sCount') ;
   session_unregister('sMaxCount') ;
   $this->SortCount = 0 ;
   $this->TotalCost = 0 ;
  }
 
  //是否某件商品已在蓝内,参数为此商品的ID
  function Exists($a_ID)
  {
   for($i=0; $i<$this->SortCount; $i++)
   {
     if($this->Id[$i]==$a_ID) return TRUE;
   }
   return FALSE;
  }
 
  //某件商品在蓝内的位置
  function IndexOf($a_ID)
  {
   for($i=0; $i<$this->SortCount; $i++)
   {
    if($this->Id[$i]==$id) return $i;
   }
   return 0;
  }
 
  //取一件商品的信息,主要的工作函数
  //返回一个关联数组,
  function Item($i)
  {
   $Result[id]        = $this->Id[$i];
   $Result[name]      = $this->Name[$i];
   $Result[price]     = $this->Price[$i];
   $Result[count]     = $this->Count[$i];
   $Result[discount]  = $this->Discount[$i] ;
   $Result[goodprice] = $this->GoodPrice[$i] ;
   $Result[maxcount]  = $this->MaxCount[i] ;
   return $Result;
  }
 
  //取总的商品种类数
  function CartCount()
  {
   return $this->SortCount;
  }
 
  //取总的商品价值
  function GetTotalCost()
  {
   return $this->TotalCost;
  }

?>

  • 网友评论仅供网友表达个人看法,并不表明三亚资讯同意其观点或证实其描述:
  • 验证码:
  • 松花江畔
    Cây Mai Vàng &
    How to answer
    天衣秀场
    The Benefits o
    How to create
    SEO Forum
    跟通义千问关于大模型的对话
    phpBB banner 欣
    2024年5月7日,俄罗斯总
    phpBB数据库升级
    关于教育和制造业
    退休人员工资
    纸质Pantone色卡(潘通
    AI对平面设计师和程序员这两
    AI影响最大的两个职业
    画框统一比例还是按照画的比例
    青甘大环线
    黄果树风景名胜区陡坡塘瀑布
    临春岭森林公园
    惠州市 · 香炉峰
    车站艺术建筑
    歙县古城
    清远市 · 北流顶
    RAW格式照片后期处理的具体
    公司手提袋设计参考建议
    路在脚下
    设计海报和LOGO的建议要点
    大兴机场的建筑美学
    大自然中的惊喜
     三亚便民
    ▪︎ 贺师傅开锁配汽车钥匙店服
    ▪︎ 海南省小客车保有量调控管
    ▪︎ 三亚车辆年检
    ▪︎ 维修家庭普通电路,电话1
    ▪︎ 对中医推拿有多年工作经验
    ▪︎ 海南迁禧搬家货运
    ▪︎ 中国南方电网天涯供电所桶
    ▪︎ 三亚中法供水有限公司
    ▪︎ 电脑桌,保密柜,办公家具
    ▪︎ 泉源康体养生
     三亚新闻
    ▪︎ 2023极光三亚露营节
    ▪︎ 来,带你去看不一样的崖州
    ▪︎ 三亚拟增设一条新公交线路
    ▪︎ 三亚市新建商品房购房问答
    ▪︎ 海南省住房和城乡建设厅:
    ▪︎ 崖州湾科技城一年一度“嗨
    ▪︎ 海南省渔业监察总队原政委
    ▪︎ 全球最大潜水培训机构PA
    ▪︎ 习近平总书记重要讲话思维
    ▪︎ 党的二十大报告全文
     三亚美食
    ▪︎ 湖南老湘味(黄流店)20
    ▪︎ 麻辣甲鱼,香辣小龙虾
    ▪︎ 朋友相聚商务接待,江伴月
    ▪︎ 【春余烧烤涮】主打绿色自
    ▪︎ 大糖糖小吃明天正式推出正
    ▪︎  祖传秘制私房
    ▪︎ 海掌柜海鲜
    ▪︎ 汉密欣语(商品街店)
    ▪︎ 小湖南家常菜馆
    ▪︎ 【牛太郎】 大型无烟
     三亚旅游
    ▪︎ 三亚千古情景区
    ▪︎ 三亚宋城旅游区5月推双重
    ▪︎ “永乐号”5月20日开启
    ▪︎ 海南最美的八个湾
    ▪︎ 关于三亚
    ▪︎ 红艺人歌舞表演
    ▪︎ 大小洞天
    ▪︎ 美丽之冠
    ▪︎ 三亚湾
    ▪︎ 南田温泉
     三亚酒店
    ▪︎ 2023年三亚知名酒店推
    ▪︎ 三亚浪漫海景公寓兰海花园
    ▪︎ 三亚湾HelloKitt
    ▪︎ 三亚凤凰岛空中花园酒店
    ▪︎ 【鹿回头】三亚明申高尔夫
    ▪︎ 【临春河路】三亚沐蓝湾酒
    ▪︎ 【三亚湾路】三亚海贝贝沙
    ▪︎ 【河西路】东升快捷商务酒
    ▪︎ 【团结路】一路向南旅行客
    ▪︎ 【三亚湾路】椰林滩大酒店
    信息发布
    琼粹美好
    迁禧搬家
    天涯家居
    林控软件
    三亚资讯公众号
    关于我们      版权声明      服务条款      联系我们      站点地图      sitemaps    琼ICP备05002060号       ©Copyright 2003 - 2024  www.sunya.cn  三亚资讯
    Powered by 霄荣广告 传递美好