中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用PHP怎么編寫一個購物車類

發布時間:2021-02-07 20:26:19 來源:億速云 閱讀:128 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關使用PHP怎么編寫一個購物車類,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

代碼如下:

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

?>

關于使用PHP怎么編寫一個購物車類就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

竹溪县| 乾安县| 开阳县| 景德镇市| 津南区| 宜兰市| 凤山市| 台南市| 兰州市| 迭部县| 泽普县| 武邑县| 福海县| 文山县| 尚志市| 威远县| 五莲县| 麟游县| 泗洪县| 砚山县| 河津市| 宜黄县| 子洲县| 托克逊县| 东阳市| 咸丰县| 安多县| 和硕县| 万全县| 桐乡市| 缙云县| 宁城县| 河间市| 石楼县| 吴忠市| 永宁县| 昭苏县| 北流市| 光泽县| 包头市| 双流县|