<var id="xygm0"></var>
  • <table id="xygm0"><acronym id="xygm0"><thead id="xygm0"></thead></acronym></table>

    1. <video id="xygm0"></video>
      1. <b id="xygm0"><p id="xygm0"></p></b>
        <table id="xygm0"><p id="xygm0"></p></table>
        .CN 三亞資訊 生活散文
        用戶名:    密碼:   注冊
        163郵箱 QQ郵箱 京東 微博 網易 新浪 百度 百度翻譯   工行 中行 建行 交行 農行 郵政銀行
        首頁> 電腦雜記

        PHP購物車類

        2023-03-12 13:21    994次

        /*****************************************************************************/
        /*                                                                           */
        /* 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;
          }

        ?>

      2. 網友評論僅供網友表達個人看法,并不表明三亞資訊同意其觀點或證實其描述:
      3. 驗證碼:
      4. 關于我們      版權聲明      服務條款      聯系我們      站點地圖      sitemaps    瓊ICP備05002060號       ©Copyright 2003 - 2023  www.essocial.cn  三亞資訊
        Powered by 霄榮廣告 傳遞美好
        久热青青青在线视频精品|丝袜人妻制服丝袜在线|亚洲欧美日韩在线观看蜜桃|91 传媒国产午夜福利一区
        <var id="xygm0"></var>
      5. <table id="xygm0"><acronym id="xygm0"><thead id="xygm0"></thead></acronym></table>

        1. <video id="xygm0"></video>
          1. <b id="xygm0"><p id="xygm0"></p></b>
            <table id="xygm0"><p id="xygm0"></p></table>