<output id="r87xx"></output>
    1. 
      
      <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
        •   

               當前位置:首頁>軟件介紹>PHP購物車類Cart.class.php定義與用法 查詢:
               
          PHP購物車類Cart.class.php定義與用法

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

                  之前的開發(fā)人員使用了JS的技術(shù)開發(fā)了一套前臺購物車(刪除添加什么的都使用JS),但是瀏覽器兼容不好, 今天終于出問題了, 有個老外購物了產(chǎn)品, 由于使用了不知名的瀏覽器, 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; //商品總數(shù)量

                  var $totalPrices; //商品總金額

                  /**

                  * Cart Constructor

                  *

                  * 類的構(gòu)造函數(shù),使購物車保持穩(wěn)定的初始化狀態(tài)

                  *

                  * @static

                  * @access public

                  * @return void 無返回值

                  * @param void 無參數(shù)

                  */

                  function Cart(){

                  $this-totalCount = 0;

                  $this-totalPrice = 0;

                  $this-cart = array();

                  }

                  // }}}

                  // {{{ add($item)

                  /**

                  * 增加商品到當前購物車

                  *

                  * @access public

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

                  * @return array 返回當前購物車內(nèi)商品的數(shù)組

                  */

                  function add($item){

                  if(!is_array($item)||is_null($item)) return

                  $this-cart;

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

                  ))) {

                  echo “價格和數(shù)量必須是數(shù)字”;

                  return $this-cart;

                  }

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

                  $key = current($item);

                  if($key==““) return $this-cart;

                  if($this-_isExists($key)){ //商品是否已經(jīng)存在,

                  $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!=““&amp;&amp;$count==““ 的時候,從當前購物車中揀出商品ID號為 $key 的全部商品

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

                  *

                  * @access public

                  * @param string $key 商品ID

                  * @return mixed 返回真假或當前購物車內(nèi)商品的數(shù)組

                  */

                  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)

                  /**

                  * 修改購物車內(nèi)商品ID為 $key 的商品的數(shù)量為 $value

                  *

                  * @access public

                  * @param string $key 商品ID

                  * @param int $value 商品數(shù)量

                  * @return array 返回當前購物車內(nèi)商品的數(shù)組;

                  */

                  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;

                  }

                  /**

                  * 返回當前購物車內(nèi)商品的數(shù)組

                  *

                  * @access public

                  * @return array 返回當前購物車內(nèi)商品的數(shù)組;

                  */

                  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])&amp;&amp;!empty($this-c

                  art[$key])&amp;&amp;array_key_exists($key,$this-cart))

                  7 / 13

                  return true;

                  return false;

                  }

                  // }}}

                  // {{{ isEmpty()

                  /**

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

                  *

                  * @access public

                  * @return bool true or false;

                  */

                  function isEmpty(){

                  return !count($this-cart);

                  }

                  // }}}

                  // {{{ _stat()

                  /**

                  * 取得部分統(tǒng)計信息

                  *

                  * @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;

                  }

                  // }}}

                  9 / 13

                  // {{{ isEmpty()

                  /**

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

                  *

                  * @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”);

                  //調(diào)用實例

                  require_once ‘Cart.class.php’;

                  session_start();

                  if(!isset($_SESSION[‘cart’])) {

                  $_SESSION[‘cart’] = new Cart; 

                  }

                  $cart =&amp; $_SESSION[‘cart’];

                  if( ($_SERVER[‘REQUEST_METHOD’]==“POST”)&amp;&amp;($_POST[‘a(chǎn)ction’]==‘a(chǎn)dd’) ){

                  $p = $_POST[‘p’];

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

                  }

                  if( ($_GET[‘a(chǎn)ction’]==‘remove’)&amp;&amp;($_GET[‘key’]!=““) ) {

                  $items = $cart-remove($_GET[‘key’]);

                  }

                  if( ($_SERVER[‘REQUEST_METHOD’]==“POST”)&amp;&amp;($_POST[‘a(chǎn)ction’]==‘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<tdID,”.$item[‘ID’].”<input type=“hidden” value=“.$item[‘ID’].” name=“key[]”“;

                  echo “</td<td產(chǎn)品,”.$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&amp;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=“提交查詢內(nèi)容”“; echo “</td</tr</tbody</table”;

                  ?>

                  <form action=“tmp.php” method=“post”

                  ID:<input name=“p[]”

                  品名,<input name=“p[]”

                  單價,<input name=“p[]”

                  數(shù)量,<input name=“p[]”

                  <input type=“hidden” value=“add” name=“action”

                  <input type=“submit” value=“提交查詢內(nèi)容”

                  </form</count>

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

                  


          MySQL集群解決方案MySQL使用手冊
          十分鐘MySQL入門教程關(guān)于MySql的SQL語言-MySQL入門教程
          PHP生成word的三種方式PHP編程要注意的安全問題
          PHP編碼規(guī)范PHP安全
          PHP論文PHP-GD函數(shù)庫
          PHP安裝說明PHP是一種腳本語言最初產(chǎn)生動態(tài)網(wǎng)頁設計
          php用ftp遠程上傳文件PHP json_encode() 函數(shù)取值介紹
          php面向?qū)ο蟮某绦蛟O計php函數(shù)快速查詢
          信息發(fā)布:廣州名易軟件有限公司 http://m.jetlc.com
          • 勁爆價:
            不限功能
            不限用戶
            1998元/年

          • 微信客服

            <output id="r87xx"></output>
          1. 
            
            <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
              • 青青草成人在线观看 | 人体一级A片-国产日日爱-成人AV | 粉嫩小泬BBBB免费观看 | 国产午夜精品理论 | 免费无码在线播放 | 豆花视频操MM | 亚洲欧美日韩一级 | 黄页免费视频 | 黄色电影一级A片 | 人妻专区|