Home > Backend Development > PHP Tutorial > An example of php shopping cart class implementation code

An example of php shopping cart class implementation code

WBOY
Release: 2016-07-25 08:59:37
Original
1012 people have browsed it
  1. // Shopping cart class

  2. /*
  3. Instructions for use:
  4. Constructor cart can use parameters:
  5. cart($cartname = 'myCart', $session_id = '', $savetype = 'session', $cookietime = 86400, $cookiepath = '/', $cookiedomain = '')
  6. $cartname is the identification of the shopping cart, which can be specified to ensure that there is no duplicate name and no related conflicts
  7. $ session_id is the session_id. The default is to use cookies to transmit. It can also be customized. It will only work if the storage type is session. $savetype storage type, there are session and cookie methods.
  8. ... Others are parameters required by cookies

  9. When the program itself uses session, it is recommended to change this php shopping cart class to cookie implementation.

  10. //Add a product

  11. // Reference class
  12. require_once './cart.class.php';
  13. // Create class instance
  14. $cart = new cart();
  15. // The product already has modified data

  16. if ($cart->data[$id]) {
  17. $cart->data[$id]['count'] += $count;
  18. $cart->data[$id]['money'] += $cart->data[$id]['price'] * $count;
  19. // Add product
  20. } else {
  21. $cart- >data[$id]['name'] = $name;
  22. $cart->data[$id]['price'] = $price;
  23. $cart->data[$id]['count '] = $count;
  24. $cart->data[$id]['money'] = $price * $count;
  25. }
  26. // Save shopping cart data
  27. $cart->save();< /p>
  28. Edit a product quantity

  29. // Reference class
  30. require_once './cart.class.php';
  31. // Create a class instance
  32. $cart = new cart();

  33. // The product already has modified data

  34. if ($cart->data[$id]) {
  35. $cart->data[$id]['count'] = $count;
  36. $cart- >data[$id]['money'] = $cart->data[$id]['price'] * $count;

  37. // Save shopping cart data

  38. $ cart->save();
  39. }

  40. Delete a product

  41. // Reference class
  42. require_once './cart.class.php';
  43. // Create class instance
  44. $cart = new cart();

  45. // Delete items

  46. unset($cart->data[$id]);

  47. // Save shopping cart data

  48. $cart->save();

  49. List shopping cart

  50. // Reference class
  51. require_once './cart.class.php';
  52. // Create class instance
  53. $cart = new cart();

  54. foreach ($cart->data AS $k => $v) {

  55. echo 'Product ID: '.$k;
  56. echo 'Product name: '.$v['name'];
  57. echo 'Unit price of product: '.$v['price'];
  58. echo 'Quantity of product: '.$v['count'];
  59. echo 'Total price of product: ' .$v['money'];
  60. }

  61. The total accumulation of a certain field---such as the total price of all products

  62. // Reference class
  63. require_once './cart.class.php';
  64. // Create a class instance
  65. $cart = new cart();

  66. // Accumulate money field

  67. $cart->sum('money')

  68. < p>Clear shopping cart
  69. // Reference class
  70. require_once './cart.class.php';
  71. // Create class instance
  72. $cart = new cart();

  73. // Clear Data

  74. unset($cart->data);

  75. // Save shopping cart data

  76. $cart->save();
  77. */

  78. //edit bbs.it-home.org
  79. class cart {

  80. // Shopping cart identifier

  81. var $cartname = '';
  82. // Storage type
  83. var $savetype = '';
  84. // Product data in the shopping cart
  85. var $data = array();
  86. // Cookie data
  87. var $cookietime = 0;
  88. var $cookiepath = '/';
  89. var $cookiedomain = '';

  90. // Constructor (shopping cart ID, $session_id, storage type (session or cookie), default is time of day, $cookiepath, $cookiedomain)

  91. function cart($cartname = 'myCart', $session_id = '', $savetype = 'session', $cookietime = 86400, $cookiepath = '/', $cookiedomain = '') {

  92. // Adopt session storage

  93. if ($savetype == 'session') {

  94. if (!$session_id && $_COOKIE[$cartname.'_session_id']) {

  95. session_id($_COOKIE[$cartname .'_session_id']);
  96. } elseif($session_id)
  97. session_id($session_id);

  98. session_start();

  99. if (!$session_id && !$_COOKIE[$cartname.'_session_id'])

  100. setcookie($cartname.'_session_id', session_id(), $cookietime + time(), $cookiepath, $cookiedomain);
  101. }

  102. < ;p>$this->cartname = $cartname;
  103. $this->savetype = $savetype;
  104. $this->cookietime = $cookietime;
  105. $this->cookiepath = $cookiepath;
  106. $this- >cookiedomain = $cookiedomain;
  107. $this->readdata();
  108. }

  109. // Read data

  110. function readdata() {
  111. if ($this->savetype = = 'session') {
  112. if ($_SESSION[$this->cartname] && is_array($_SESSION[$this->cartname]))
  113. $this->data = $_SESSION[$this-> cartname];
  114. else
  115. $this->data = array();
  116. } elseif ($this->savetype == 'cookie') {
  117. if ($_COOKIE[$this->cartname])
  118. $ this->data = unserialize($_COOKIE[$this->cartname]);
  119. else
  120. $this->data = array();
  121. }
  122. }

  123. // Save shopping cart data

  124. function save() {
  125. if ($this->savetype == 'session') {
  126. $_SESSION[$this->cartname] = $this->data;
  127. }elseif ($this->savetype == 'cookie') {
  128. if ($this->data)
  129. setcookie($this->cartname, serialize($this->data), $this->cookietime + time(), $this->cookiepath, $this->cookiedomain);
  130. }
  131. }

  132. // 返回商品某字段累加

  133. function sum($field) {

  134. $sum = 0;

  135. if ($this->data)
  136. foreach ($this->data AS $v)
  137. if ($v[$field])
  138. $sum += $v[$field] + 0;

  139. return $sum;

  140. }
  141. }
  142. ?>

复制代码


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template