中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

PHP購物車類Cart.class.php定義與用法示例
來源:易賢網 閱讀:1317 次 日期:2016-08-11 15:34:54
溫馨提示:易賢網小編為您整理了“PHP購物車類Cart.class.php定義與用法示例”,方便廣大網友查閱!

本文實例講述了PHP購物車類Cart.class.php定義與用法。分享給大家供大家參考,具體如下:

之前的開發人員使用了JS的技術開發了一套前臺購物車(刪除添加什么的都使用JS),但是瀏覽器兼容不好, 今天終于出問題了, 有個老外購物了產品, 由于使用了不知名的瀏覽器, chrome, opera…都有可能, 因此, 我多了一份工作, 重寫購物車.

不打算再使用JS, 直接考慮php.

找到了一個購物車的類, 使用起來很方便.

Cart.class.php源碼:

<?php

/**

 * Cart

 *

 * 購物車類

 *

 * @author doodoo<pwtitle @yahoo.com.cn="">

 * @package  Cart

 * @category Cart

 * @license  PHP License

 * @access  public

 * @version  $Revision: 1.10 $

 */

Class Cart{

 var $cart;

 var $totalCount; //商品總數量

 var $totalPrices; //商品總金額

 /**

  * Cart Constructor

  *

  * 類的構造函數,使購物車保持穩定的初始化狀態

  *

  * @static

  * @access public

  * @return void 無返回值

  * @param void 無參數

  */

 function Cart(){

 $this->totalCount = 0;

 $this->totalPrice = 0;

 $this->cart = array();

 }

 // }}}

 // {{{ add($item)

 /**

 * 增加商品到當前購物車

 *

 * @access public

 * @param array $item 商品信息(一維數組:array(商品ID,商品名稱,商品單價,商品數量))

 * @return array 返回當前購物車內商品的數組

 */

 function add($item){

 if(!is_array($item)||is_null($item)) return $this->cart;

 if(!is_numeric(end($item))||(!is_numeric(prev($item)))) {

 echo "價格和數量必須是數字";

 return $this->cart;

 }

 reset($item); //這一句是必須的,因為上面的判斷已經移動了數組的指標

 $key = current($item);

 if($key=="") return $this->cart;

 if($this->_isExists($key)){ //商品是否已經存在?

 $this->cart[$key]['count'] = end($item);

 return $this->cart;

 }

 $this->cart[$key]['ID'] = $key;

 $this->cart[$key]['name'] = next($item);

 $this->cart[$key]['price'] = next($item);

 $this->cart[$key]['count'] = next($item);

 return $this->cart;

 }

 // }}}

 // {{{ add($item)

 /**

 * 從當前購物車中取出部分或全部商品

 * 當 $key=="" 的時候,清空當前購物車

 * 當 $key!=""&&$count=="" 的時候,從當前購物車中揀出商品ID號為 $key 的全部商品

 * 當 $key!=""&&$count!="" 的時候,從當前購物車中揀出 $count個 商品ID號為 $key 的商品

 *

 * @access public

 * @param string $key 商品ID

 * @return mixed 返回真假或當前購物車內商品的數組

 */

 function remove($key="",$count=""){

 if($key=="") {

 $this->cart = array();

 return true;

 }

 if(!array_key_exists($key,$this->cart)) return false;

 if($count==""){ //移去這一類商品

 unset($this->cart[$key]);

 }else{ //移去$count個商品

 $this->cart[$key]['count'] -= $count;

 if($this->cart[$key]['count']<=0) unset($this->cart[$key]);

 }

 return $this->cart;

 }

 // }}}

 // {{{ modi($key,$value)

 /**

 * 修改購物車內商品ID為 $key 的商品的數量為 $value

 *

 * @access public

 * @param string $key 商品ID

 * @param int $value 商品數量

 * @return array 返回當前購物車內商品的數組;

 */

 function modi($key,$value){

 if(!$this->_isExists($key)) return $this->cart(); //不存在此商品,直接返回

 if($value<=0){  // value 太小,全部刪除

 unset($this->cart[$key]);

 return $this->cart;

 }

 $this->cart[$key]['count'] = $value;

 return $this->cart;

 }

 /**

 * 返回當前購物車內商品的數組

 *

 * @access public

 * @return array 返回當前購物車內商品的數組;

 */

 function getCart(){

 return $this->cart;

 }

 // }}}

 // {{{ _isExists($key)

 /**

 * 判斷當前購物車中是否存在商品ID號為$key的商品

 *

 * @access private

 * @param string $key 商品ID

 * @return bool true or false;

 */

 function _isExists($key)

 {

 if(isset($this->cart[$key])&&!empty($this->cart[$key])&&array_key_exists($key,$this->cart))

 return true;

 return false;

 }

 // }}}

 // {{{ isEmpty()

 /**

 * 判斷當前購物車是否為空,即沒有任何商品

 *

 * @access public

 * @return bool true or false;

 */

 function isEmpty(){

 return !count($this->cart);

 }

 // }}}

 // {{{ _stat()

 /**

 * 取得部分統計信息

 *

 * @access private

 * @return bool true or false;

 */

 function _stat(){

 if($this->isEmpty()) return false;

 foreach($this->cart as $item){

 $this->totalCount = @end($item);

 $this->totalPrices = @prev($item);

 }

 return true;

 }

 // }}}

 // {{{ totalPrices()

 /**

 * 取得當前購物車所有商品的總金額

 *

 * @access public

 * @return float 返回金額;

 */

 function totalPrices(){

 if($this->_stat())

 return $this->totalPrices;

 return 0;

 }

 // }}}

 // {{{ isEmpty()

 /**

 * 取得當前購物車所有商品的總數量和

 *

 * @access public

 * @return int ;

 */

 function totalCount(){

 if($this->_stat())

 return $this->totalCount;

 return 0;

 }

}//End Class Cart

?>

使用該類的方法:

<?php

header("Content-type:text/html;charset=utf8");

//調用實例

require_once 'Cart.class.php';

session_start();

if(!isset($_SESSION['cart'])) {

 $_SESSION['cart'] = new Cart;

}

$cart =& $_SESSION['cart'];

if( ($_SERVER['REQUEST_METHOD']=="POST")&&($_POST['action']=='add') ){

 $p = $_POST['p'];

 $items = $cart->add($p);

}

if( ($_GET['action']=='remove')&&($_GET['key']!="") ) {

 $items = $cart->remove($_GET['key']);

}

if( ($_SERVER['REQUEST_METHOD']=="POST")&&($_POST['action']=='modi') ){

 $key = $_POST['key'];

 $value = $_POST['value'];

 for($i=0;$i<count ($key);$i="" $items="$cart-" ){="">modi($key[$i],$value[$i]);

 }

}

$items = $cart->getCart();

//打印

echo "";

setlocale(LC_MONETARY, 'it_IT');

foreach($items as $item){

 echo "";

 echo "<table border="1"><tbody><tr><form action="\"index.php\"" method="\" post\??=""></form><td>ID:".$item['ID']."<input type="hidden" value=".$item['ID']." name="key[]">"; echo "</td><td>產品:".$item['name']; echo "</td><td>單價:".$item['price']; echo "</td><td><input value=".$item['count']." name="value[]">"; $sum = $item['count']*$item['price']; echo "</td><td>合計:".round($sum,2); echo "</td><td><input onclick="\"location='?action=remove&key=".$item['ID']."'\"" type="button" value="刪除">"; } echo "<input type="hidden" value="modi" name="action">"; echo "</td></tr><tr><td colspan="7"><input type="submit" value="提交查詢內容">"; echo "</td></tr></tbody></table>";

?>

<hr>

<form action="tmp.php" method="post">

ID:<input name="p[]">

品名:<input name="p[]">

單價:<input name="p[]">

數量:<input name="p[]">

<input type="hidden" value="add" name="action">

<input type="submit" value="提交查詢內容">

</form></count>

希望本文所述對大家PHP程序設計有所幫助。

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美在线一二三| 国产精品久久福利| 亚洲午夜一区二区三区| 这里是久久伊人| 久久久午夜精品| 欧美日韩亚洲高清一区二区| 国产三级欧美三级| 日韩一二三在线视频播| 久久人人97超碰人人澡爱香蕉| 欧美激情精品久久久久久大尺度| 国产精品视频yy9099| 亚洲精品美女| 久久婷婷成人综合色| 国产精品三级视频| 一本色道88久久加勒比精品| 久久爱91午夜羞羞| 国产精品男女猛烈高潮激情 | 亚洲综合久久久久| 久久九九免费视频| 国产精品久久久久国产a级| 亚洲欧美日韩精品久久| 免费影视亚洲| 国产一区二区三区黄视频| 99国产欧美久久久精品| 久久婷婷麻豆| 国内激情久久| 亚洲欧美日韩直播| 国产精品成人播放| 99re热精品| 欧美日韩成人激情| 亚洲电影视频在线| 国产精品久久久久久亚洲调教 | 久久久蜜桃精品| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲欧美日韩国产另类专区| 影音国产精品| 亚洲视频第一页| 中文无字幕一区二区三区| 欧美与欧洲交xxxx免费观看| 欧美+亚洲+精品+三区| 欧美伦理影院| 亚洲电影专区| 久久免费视频这里只有精品| 欧美日韩免费观看一区=区三区| 国产精品私房写真福利视频 | 欧美日韩一区二区三区高清| 欧美国产综合| 欧美精品一区在线发布| 在线中文字幕一区| 伊人色综合久久天天| 国产精品一区在线观看| 亚洲影院在线| 亚洲综合首页| 亚洲高清自拍| 欧美电影免费观看高清完整版| 精品不卡一区二区三区| 久久影院午夜论| 日韩一级不卡| 国产精品盗摄久久久| 亚洲欧美视频在线| 国产精品私房写真福利视频| 性久久久久久久| 国产主播精品在线| 欧美暴力喷水在线| 中国av一区| 国产精品影片在线观看| 久久精品在线播放| 在线观看av不卡| 欧美久久久久中文字幕| 亚洲午夜激情| 亚洲国产精品激情在线观看| 欧美成人免费在线视频| 夜夜嗨网站十八久久| 国产一区欧美日韩| 欧美护士18xxxxhd| 一区二区三区高清在线观看| 国产情侣一区| 欧美色123| 老司机午夜精品| 99热在这里有精品免费| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品二区三区四区| 欧美在线国产精品| 亚洲精品日韩激情在线电影| 狠狠色丁香婷婷综合影院| 欧美精品一区二区三区在线看午夜 | 欧美无乱码久久久免费午夜一区| 久久精品亚洲精品国产欧美kt∨| 91久久精品一区| 国内久久精品| 欧美日韩在线三区| 免费欧美高清视频| 亚洲欧美韩国| 日韩午夜精品视频| 国产视频久久网| 欧美日韩久久精品| 欧美精品一区在线观看| 久久www成人_看片免费不卡| 亚洲一区日韩| 亚洲免费播放| 最新亚洲视频| 极品尤物一区二区三区| 国产亚洲综合在线| 国产精品久久77777| 国产精品观看| 国产精品永久免费| 国产嫩草一区二区三区在线观看| 国产精品久久中文| 国产伦精品一区二区三区视频黑人| 欧美日韩精品在线| 欧美色精品在线视频| 国产精品毛片在线看| 国产日韩精品一区观看| 狠狠色综合色区| 在线免费观看成人网| 亚洲国产精品va在线看黑人动漫 | 久久九九热re6这里有精品| 亚洲一级网站| 欧美制服第一页| 免费观看不卡av| 欧美视频在线不卡| 国产欧美一区二区色老头 | 亚洲国产高清一区| 国产三级精品在线不卡| 国产精品久久久久久久久借妻| 欧美特黄视频| 国产精品狼人久久影院观看方式| 国产精品视频一区二区高潮| 国产欧美在线观看一区| 国产日韩精品视频一区| 国产精品久久久久久久浪潮网站 | 亚洲激情第一区| 亚洲精品国产精品国自产观看浪潮| 亚洲电影免费观看高清完整版在线观看| 在线免费观看日本一区| 日韩一级黄色av| 久久国产福利| 欧美成人a∨高清免费观看| 欧美色区777第一页| 国产精品hd| 国产真实乱偷精品视频免| 亚洲国产天堂久久国产91| 亚洲精品久久| 久久久久久久高潮| 欧美激情bt| 国产精品天天看| 国产欧美一区二区精品仙草咪| 亚洲国产高清一区| 欧美在线观看视频一区二区三区| 久久久亚洲精品一区二区三区| 欧美日韩视频在线一区二区| 欧美色图首页| 黄色成人在线网址| 亚洲一区二区三区四区视频| 欧美一区激情| 欧美久久一级| 国内精品视频在线观看| 最新中文字幕一区二区三区| 久久久久久久综合| 国产亚洲精品福利| 亚洲小视频在线| 欧美激情亚洲另类| 亚洲国产一区在线| 久久综合狠狠综合久久综合88| 国产亚洲成人一区| 亚洲一区二区三区在线| 欧美精品三级日韩久久| 亚洲激情在线| 免费日韩av电影| 一区免费在线| 久久影院午夜片一区| 国产亚洲激情| 欧美在线视频免费| 国产最新精品精品你懂的| 欧美一区二区日韩| 国产九区一区在线| 午夜免费日韩视频| 国产日产精品一区二区三区四区的观看方式 | 亚洲视频日本| 欧美日韩精品综合在线| 日韩午夜在线| 欧美日韩网站| 亚洲午夜羞羞片| 欧美视频在线免费| 亚洲午夜黄色| 欧美少妇一区| 午夜国产精品影院在线观看| 国产精品久久久久久福利一牛影视| 一区二区冒白浆视频| 欧美伦理91i| 亚洲天堂偷拍| 国产精品久久久久久久久免费| 99国产精品久久久久老师| 欧美日韩播放| 午夜久久久久久| 国产欧美三级| 欧美α欧美αv大片| 日韩一级在线观看| 国产欧美在线视频| 久久久久久穴|