Heim >Backend-Entwicklung >PHP-Tutorial >php 购物车类的实现代码与应用举例

php 购物车类的实现代码与应用举例

WBOY
WBOYOriginal
2016-07-25 08:59:35973Durchsuche
  1. class Shopcar
  2. {
  3. //商品列表
  4. public $productList=array();
  5. /**
  6. *
  7. * @param unknown_type $product 传进来的商品
  8. * @return true 购物车里面没有该商品
  9. */
  10. public function checkProduct($product)
  11. {
  12. for($i=0;$iproductList);$i++ )
  13. {
  14. if($this->productList[$i]['name']==$product['name'])
  15. return $i;
  16. }
  17. return -1;
  18. }
  19. //添加到购物车
  20. public function add($product)
  21. {
  22. $i=$this->checkProduct($product);
  23. if($i==-1)
  24. array_push($this->productList,$product);
  25. else
  26. $this->productList[$i]['num']+=$product['num'];
  27. }
  28. //删除
  29. public function delete($product)
  30. {
  31. $i=$this->checkProduct($product);
  32. if($i!=-1)
  33. array_splice($this->productList,$i,1);
  34. }
  35. //返回所有的商品的信息
  36. public function show()
  37. {
  38. return $this->productList;
  39. }
  40. }
复制代码

2、productList.html

  1. php购物车-商品列表页面-bbs.it-home.org
  2. 查看购物车
  3. 商品编号 商品名称 价格 数量 购买
    0
  4. 购买
    1
  5. 购买
    2
  6. 购买
    3
  7. 购买
复制代码

3、index.php

  1. require 'Shopcar.class.php';
  2. session_start();
  3. $name=$_POST['name'];
  4. $num=$_POST['num'];
  5. $price=$_POST['price'];
  6. $product=array('name'=>$name,'num'=>$num,'price'=>$price);
  7. print_r($product);
  8. if(isset($_SESSION['shopcar']))
  9. $shopcar=unserialize($_SESSION['shopcar']);
  10. else
  11. $shopcar=new Shopcar();
  12. $shopcar->add($product);
  13. $_SESSION['shopcar']=serialize($shopcar);
  14. ?>
复制代码

4、show.php

  1. 商品信息展示页_bbs.it-home.org
  2. require 'Shopcar.class.php';
  3. session_start();
  4. $shopcar=unserialize($_SESSION['shopcar']);
  5. print_r($shopcar);
  6. $productList=$shopcar->productList;
  7. foreach ($productList as $product){
  8. ?>
  9. 商品编号 商品名称 价格 数量
    1
  10. ' />
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn