简单思路分析
首先需要理解的是,购物车操作是SESSION的原理
一个物品加进去是一个数组,存ID NAME NUM
那么两个物品就是二维数组,所以用二维数组来操作就可以了。
- 点击购买之后转到buy方法中
- 判断购物车的SESSION是否是数组,是则购物车有物品[产品ID是数组的KEY]
- 判断传递的ID在购物车的SESSION是否存在,不存在就添加进去,数量默认为1[产品ID是数组的KEY]
- 判断传递的ID在购物车的SESSION是否存在,存在就把数量+1[产品ID是数组的KEY]
- 判断购物车的SESSION是否是数组,不是则直接存入SESSION[产品ID是数组的KEY]
- 添加完成后转到car.php,循环展示出购买的东西
- 点击不想购买的商品,删除delete.php,删除对应SESSION下key对应的ID值即可
表结构:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `produce`
-- ----------------------------
DROP TABLE IF EXISTS `produce`;
CREATE TABLE `produce` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
`pimg` varchar(200) DEFAULT NULL,
`price` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of produce
-- ----------------------------
INSERT INTO `produce` VALUES ('1', '测试', 'test.png', '1');
INSERT INTO `produce` VALUES ('2', '测试2', 'test.png', '2');
INSERT INTO `produce` VALUES ('3', '测试3', 'test.png', '1');
INSERT INTO `produce` VALUES ('4', '测试4', 'test.png', '2');
INSERT INTO `produce` VALUES ('5', '测试5