php 实现购物车
<?phpclass 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(); }} |
php 实现购物车的更多相关文章
- 如何一步一步用DDD设计一个电商网站(十)—— 一个完整的购物车
阅读目录 前言 回顾 梳理 实现 结语 一.前言 之前的文章中已经涉及到了购买商品加入购物车,购物车内购物项的金额计算等功能.本篇准备把剩下的购物车的基本概念一次处理完. 二.回顾 在动手之前我对之 ...
- session实现购物车
为实现简单的购物功能(购物车添加.账户查看.购物车商品删除.实时的购物商品数量及价格的计算显示.购物车商品数量可手动输入等),用session实现了一简单的以php语言为基础.连接MySQL数据库的购 ...
- 如何一步一步用DDD设计一个电商网站(六)—— 给购物车加点料,集成售价上下文
阅读目录 前言 如何在一个项目中实现多个上下文的业务 售价上下文与购买上下文的集成 结语 一.前言 前几篇已经实现了一个最简单的购买过程,这次开始往这个过程中增加一些东西.比如促销.会员价等,在我们的 ...
- PHP之购物车的代码
该文章记录了购物车的实现代码,仅供参考 book_sc_fns.php <?php include_once('output_fns.php'); include_once('book_fns. ...
- 使用session页面控制登录入口及购物车效果的实现
由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容.实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只 ...
- python学习笔记(列表、元组、购物车实例)
一.列表 列表和字典是最常用的两种数据类型 1. 需求:怎么存放班级80多人的姓名,如何实现? names = ["Zhangyang","Guyun",&qu ...
- 简单实用angular.js购物车功能
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Java Web之网上购物系统(注册、登录、浏览商品、添加购物车)
眼看就要期末了,我的专业课也迎来了第二次的期末作业---------<网上购物系统>.虽然老师的意图是在锻炼我们后台的能力,但是想着还是不利用网上的模板,准备自己写,以来别人写的静态页看不 ...
- 使用MongoDB和JSP实现一个简单的购物车系统
目录 1 问题描述 2 解决方案 2.1 实现功能 2.2 最终运行效果图 2.3 系统功能框架示意图 2.4 有关MongoDB简介及系统环境配置 2.5 核心功能代码讲解 ...
- js抛物线动画——加入购物车动效
参考文章:http://www.zhangxinxu.com/wordpress/2013/12/javascript-js-元素-抛物线-运动-动画/ parapola.js /*! * by zh ...
随机推荐
- JS中undefined与null的区别
1.概述: 在JavaScript中存在这样两种原始类型:Null与Undefined.这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? ...
- ASIHTTPRequest使用指南---<<翻译稿>>
ASIHTTPRequest使用指南---<<翻译稿>> 当第一次使用ASIHTTPRequest进行http请求时,会出现非常多的bug提示.查了一些资料,发现在少倒入了几个 ...
- IE浏览器开启对JavaScript脚本的支持
在IE浏览器的"工具"菜单中选择"internet选项",在弹出命令对话框中选择"安全"选项卡.在该选项卡下的"该区域的安全级别& ...
- 开源中国安卓client源代码学习(一) 渐变启动界面
开源中国安卓client源代码学习(一) 渐变启动界面 准备学习安卓开发, 看到网上有人推荐开源中国安卓client的源代码, 说里面包括了大部分技术, 于是准备好好研究研究. 特开通此系列博客来记录 ...
- MySQL加密的性能测试
这是对MySQL进行加密性能测试的两篇文章系列之二.在第一篇中,我专门使用MySQL的内置的对SSL的支持来 做压力测试,产生了一些令人惊讶的结果. AD:WOT2015 互联网运维与开发者大会 热销 ...
- Java当中的运算符
一.关于Java当中运算符的分类 算术运算符:+,-,*,/.%(是取余运算符读莫).++.-- 关系运算符:>.<.>=.<=.!=(不等).==(等于) 布尔运算符:!(非 ...
- displaytag 添加超链接
方法1:在<display:column>中使用属性autolink="true",不过这条属性只对两种情况起作用:网址和邮箱,如果只是普通字符串,那么还是普通字符串, ...
- MVC 4.0项目部署在IIS上无法浏览的解决方案
本文属于原创,转载请标明出处! MVC 4.0发布后部署到IIS上可能出现无法浏览的问题,浏览器报403的错误. 解决方法是:只需在web.config配置文件里的<system.webServ ...
- traditional:true
- POJ3641 Pseudoprime numbers(快速幂+素数判断)
POJ3641 Pseudoprime numbers p是Pseudoprime numbers的条件: p是合数,(p^a)%p=a;所以首先要进行素数判断,再快速幂. 此题是大白P122 Car ...