PHP商城购物车类
<?php /*
购物车类
*/
// session_start();
class Cart
{ //定义一个数组来保存购物车商品
private $iteams;
private static $ins=null; final protected function __construct()
{ if(isset($_session['cart']))
{
$this->$iteams=session('cart');
}else
{
$this->iteams=array();
}
}
/*防克隆*/
final protected function __clone(){} /*单列模式调用此类*/
public static function getins()
{
if(self::$ins==null)
{
self::$ins=new self();
}
return self::$ins;
} /*添加商品*/
public function add($goods_id,$goods_name,$shop_price)
{
if(!isset($this->iteams[$goods_id]))
{
$row=array();
$row['goods_name']=$goods_name;
$row['shop_price']=$shop_price;
$row['num']=1;
$this->iteams[$goods_id]=$row;
}else
{
$this->iteams[$goods_id]['num']+=1;
}
return $this->iteams;
} /*删除商品*/
public function del($goods_id)
{
unset($this->iteams[$goods_id]);
} /*减少一件商品数量*/ public function _num($goods_id)
{
if(isset($this->iteams[$goods_id]))
{
$this->iteams[$goods_id]['num']-=1;
if($this->iteams[$goods_id]['num']==0)
{
$this->del($goods_id);
}
} } /*计算商品总价格*/ public function total_price()
{
$money=0.0;
foreach($this->iteams as $v)
{
$money+=$v['shop_price']*$v['num'];
}
return $money;
} /**计算商品总数量(有多少种商品)*/
public function shop_num()
{
return count($this->iteams); }
/*列出所有商品*/ public function lists_shop()
{
return $this->iteams;
} /*清空购物车*/ public function clear_cart()
{
$this->iteams=array();
} /*session destory destruct 析构函数*/
public function __destruct()
{
$_session['cart']=$this->iteams;
} } $g=Cart::getins();
$g->add('1','sanxing',55);
$g->add('2','nokio',33.9);
$money=$g->total_price(); print_r($money);
echo '<br/>';
print_r($g->shop_num());
echo '<br/>';
print_r($g->lists_shop()); ?>
PHP商城购物车类的更多相关文章
- Mvp快速搭建商城购物车模块
代码地址如下:http://www.demodashi.com/demo/12834.html 前言: 说到MVP的时候其实大家都不陌生,但是涉及到实际项目中使用,还是有些无从下手.因此这里小编带着大 ...
- PHP购物车类
<?php /** * 购物车类 */ session_start(); class Cart{ private static $ins = null; private $items = arr ...
- php之购物车类思路及代码
<?php /* 购物车类 1.整站范围内,购物车--全局有效 解决:把购物车的信息,放在session里 2.既然全局有效,购物车的实例只有一个 解决:单例模式 技术选型:session+单例 ...
- JavaWeb后台购物车类的具体实现
相信大家肯定都在电商网站买过东西,当我们看中一件喜欢又想买的东西时,这时候你又不想这么快结账,这时候你就可以放入购物车: 就像我们平时去超市买东西一样,会推着购物车去买东西: 那么我们接下来看看jav ...
- 3_python之路之商城购物车
python之路之商城购物车 1.程序说明:Readme.txt 1.程序文件:storeapp_new.py userinfo.py 2.程序文件说明:storeapp_new.py-主程序 use ...
- 基于vue2.0打造移动商城页面实践 vue实现商城购物车功能 基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
基于vue2.0打造移动商城页面实践 地址:https://www.jianshu.com/p/2129bc4d40e9 vue实现商城购物车功能 地址:http://www.jb51.net/art ...
- 用JSP实现的商城购物车模块
这两天,在学习JSP,正好找个小模块来练练手: 下面就是实现购物车模块的页面效果截图: 图1. 产品显示页面 通过此页面进行产品选择,增加到购物车 图2 .购物车页面 图3 . 商品数量设置 好了,先 ...
- python学习(8)实例:写一个简单商城购物车的代码
要求: 1.写一段商城程购物车序的代码2.用列表把商城的商品清单存储下来,存到列表 shopping_mail3.购物车的列表为shopping_cart4.用户首先输入工资金额,判断输入为数字5.用 ...
- mmall商城购物车模块总结
购物车模块的设计思想 购物车的实现方式有很多,但是最常见的就三种:Cookie,Session,数据库.三种方法各有优劣,适合的场景各不相同.Cookie方法:通过把购物车中的商品数据写入Cookie ...
随机推荐
- AngularJs学习笔记4——四大特性之双向数据绑定
双向数据绑定 方向1:模型数据(model)绑定到视图(view) 实现方法:①.{{model变量名}} ②.常用指令(ng-repeat) 方向2:将视图(view)中用户输入的数据绑定到模型数 ...
- winzip15.0注冊码
username:Juzhaofeng 授权码:MPZRP-Y7LWW-K1DKG-FM92E-2C5F5-ZEKFF
- Android BLE开发之Android手机与BLE终端通信
本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 近期穿戴设备发展得非常火.把相关技术也带旺了,当中一项是BLE(Bluetooth Low Energy).B ...
- 漫话Unity3D(一)
前言 使用Unity已经有将近半年时间了,尽管项目还仅仅是个半成品,可是Unity差点儿相同玩熟了.这里把使用过程中碰到的问题梳理一遍.不会涉及到太过详细的功能和代码,可是假设开发一个网游又都会涉及到 ...
- 用消息在Win32控制台程序多线程间进行通讯
#include <stdio.h> #include <windows.h> //#include <iostream> //#include <pro ...
- 常见HTTP状态码的含义
200 请求已成功,请求所希望的响应头或数据体将随此响应返回. 301 被请求的资源已永久移动到新位置. 302 请求的资源现在临时从不同的 URI 响应请求. 400 1.语义有误,当前请求无法被服 ...
- CSS基础知识笔记(一)
css 样式由选择符和声明组成,而声明又由属性和值组成: 选择符: 又称选择器,指明网页中要应用样式规则的元素,如本例中是网页中所有的段(p)的文字将变成蓝色,而其他的元素(如ol)不会受到影响. 声 ...
- Oracle异常的抛出处理
--一异常处理的代码 --sqlcode 异常编号 --sqlerrm 信号字符串 /* 在plsql 块中格式 Declare 变量 Begin 代码块 EXCEPTION when 异常的名称 t ...
- oracle数据库ID自增长
使用sequence --创建sequenceCREATE SEQUENCE emp_sequence INCREMENT BY 1 -- 每次加几个 START WITH 1 ...
- table超过30个字段如何处理呢? bootstrap
样式: @media (max-width: 768px) { .table-supplier { width: 100%; height: 100%; margin-bottom: 12.75px; ...