标签:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
<?php class Cart{ public function Cart() { if (!isset( $_SESSION [ ‘cart‘ ])){ $_SESSION [ ‘cart‘ ] = array (); } } /* 添加商品 param int $id 商品主键 string $name 商品名称 float $price 商品价格 int $num 购物数量 */ public function addItem( $id , $name , $price , $num , $img ) { //如果该商品已存在则直接加其数量 if (isset( $_SESSION [ ‘cart‘ ][ $id ])) { $this ->incNum( $id , $num ); return ; } $item = array (); $item [ ‘id‘ ] = $id ; $item [ ‘name‘ ] = $name ; $item [ ‘price‘ ] = $price ; $item [ ‘num‘ ] = $num ; $item [ ‘img‘ ] = $img ; $_SESSION [ ‘cart‘ ][ $id ] = $item ; } /* 修改购物车中的商品数量 int $id 商品主键 int $num 某商品修改后的数量,即直接把某商品 的数量改为$num */ public function modNum( $id , $num =1) { if (!isset( $_SESSION [ ‘cart‘ ][ $id ])) { return false; } $_SESSION [ ‘cart‘ ][ $id ][ ‘num‘ ] = $num ; } /* 商品数量+1 */ public function incNum( $id , $num =1) { if (isset( $_SESSION [ ‘cart‘ ][ $id ])) { $_SESSION [ ‘cart‘ ][ $id ][ ‘num‘ ] += $num ; } } /* 商品数量-1 */ public function decNum( $id , $num =1) { if (isset( $_SESSION [ ‘cart‘ ][ $id ])) { $_SESSION [ ‘cart‘ ][ $id ][ ‘num‘ ] -= $num ; } //如果减少后,数量为0,则把这个商品删掉 if ( $_SESSION [ ‘cart‘ ][ $id ][ ‘num‘ ] <1) { $this ->delItem( $id ); } } /* 删除商品 */ public function delItem( $id ) { unset( $_SESSION [ ‘cart‘ ][ $id ]); } /* 获取单个商品 */ public function getItem( $id ) { return $_SESSION [ ‘cart‘ ][ $id ]; } /* 查询购物车中商品的种类 */ public function getCnt() { return count ( $_SESSION [ ‘cart‘ ]); } /* 查询购物车中商品的个数 */ public function getNum(){ if ( $this ->getCnt() == 0) { //种数为0,个数也为0 return 0; } $sum = 0; $data = $_SESSION [ ‘cart‘ ]; foreach ( $data as $item ) { $sum += $item [ ‘num‘ ]; } return $sum ; } /* 购物车中商品的总金额 */ public function getPrice() { //数量为0,价钱为0 if ( $this ->getCnt() == 0) { return 0; } $price = 0.00; $data = $_SESSION [ ‘cart‘ ]; foreach ( $data as $item ) { $price += $item [ ‘num‘ ] * $item [ ‘price‘ ]; } return sprintf( "%01.2f" , $price ); } /* 清空购物车 */ public function clear() { $_SESSION [ ‘cart‘ ] = array (); } } |
标签:
原文地址:http://www.cnblogs.com/try-better-tomorrow/p/5420561.html