php购物车实现代码


Posted in PHP onOctober 10, 2011

ShopCar.php

<?php 
class Shopcar 
{ 
//商品列表 
public $productList=array(); 
/** 
* 
* @param unknown_type $product 传进来的商品 
* @return true 购物车里面没有该商品 
*/ 
public function checkProduct($product) 
{ 
for($i=0;$i<count($this->productList);$i++ ) 
{ 
if($this->productList[$i]['name']==$product['name']) 
return $i; 
} 
return -1; 
} 
//添加到购物车 
public function add($product) 
{ 
$i=$this->checkProduct($product); 
if($i==-1) 
array_push($this->productList,$product); 
else 
$this->productList[$i]['num']+=$product['num']; 
} 
//删除 
public function delete($product) 
{ 
$i=$this->checkProduct($product); 
if($i!=-1) 
array_splice($this->productList,$i,1); 
} 
//返回所有的商品的信息 
public function show() 
{ 
return $this->productList; 
} 
}

productList.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
<script type="text/javascript" src='jquery.min.js'></script> 
<script type="text/javascript"> 
function buy(i) 
{ 
var num=$(':input[name=num]')[i].value; 
var name=$('[name=name]')[i].innerHTML; 
var price=$('[name=price]')[i].innerHTML; 
alert(num+name+price); 
$.ajax({ 
type:'post', //传送的方式,get/post 
url:'index.php', //发送数据的地址 
cache:'false', 
data:'num='+num+"&name="+name+"&price="+price, 
success:function(data) 
{ 
alert(data); 
} 
}) 
} 
</script> 
</head> 
<body> 
<table> 
<tr><td>商品编号</td><td>商品名称</td><td>价格</td><td>数量</td><td>购买</td></tr> 
<tr><td>0</td><td><label name='name' >商品1</label></td><td><label name='price'>1</label> 
</td><td><input name='num' type='text' value='1' /></td><td><a onclick='buy(0)'><u><font color='blue'>购买</font></u></a></td></tr> 
<tr><td>1</td><td><label name='name' >商品2</label></td><td><label name='price'>2</label> 
</td><td><input name='num' type='text' value='1' /></td><td><a onclick='buy(1)'>购买</a></td></tr> 
<tr><td>2</td><td><label name='name' >商品3</label></td><td><label name='price'>1</label> 
</td><td><input name='num' type='text' value='1' /></td><td><a onclick='buy(2)'>购买</a></td></tr> 
<tr><td>3</td><td><label name='name' >商品4</label></td><td><label name='price'>1</label> 
</td><td><input name='num' type='text' value='1' /></td><td><a onclick='buy(3)'>购买</a></td></tr> 
<tr><a href='show.php'>查看购物车</a></tr> 
</table> 
</body> 
</html>

index.php
<?php 
require 'Shopcar.class.php'; 
session_start(); 
$name=$_POST['name']; 
$num=$_POST['num']; 
$price=$_POST['price']; 
$product=array('name'=>$name,'num'=>$num,'price'=>$price); 
print_r($product); 
if(isset($_SESSION['shopcar'])) 
$shopcar=unserialize($_SESSION['shopcar']); 
else 
$shopcar=new Shopcar(); 
$shopcar->add($product); 
$_SESSION['shopcar']=serialize($shopcar);

show.php
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title></title> 
</head> 
<body> 
<table> 
<tr><td>商品编号</td><td>商品名称</td><td>价格</td><td>数量</td></tr> 
<?php 
require 'Shopcar.class.php'; 
session_start(); 
$shopcar=unserialize($_SESSION['shopcar']); 
print_r($shopcar); 
$productList=$shopcar->productList; 
foreach ($productList as $product){ 
?> 
<tr><td>1</td><td><label ><?php echo $product['name']?></label></td><td><label name='price'><?php echo $product['price']?></label> 
</td><td><input name='num' type='text' value='<?php echo $product['num']?>' /></td></tr> 
<?php }?> 
</table> 
</body> 
</html>

PHP 相关文章推荐
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
Jan 19 PHP
图解找出PHP配置文件php.ini的路径的方法
Aug 20 PHP
Codeigniter检测表单post数据的方法
Mar 21 PHP
php简单日历函数
Oct 28 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
Feb 01 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
Apr 07 PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
Sep 21 PHP
PHP对称加密函数实现数据的加密解密
Oct 27 PHP
laravel创建类似ThinPHP中functions.php的全局函数
Nov 26 PHP
PHP培训要多少钱
Jun 06 PHP
php获取手机端的号码以及ip地址实例代码
Sep 12 PHP
eval(cmd)与eval($cmd)的区别与联系
Jul 07 PHP
使用PHP实现密保卡功能实现代码&amp;lt;打包下载直接运行&amp;gt;
Oct 09 #PHP
PHP实现时间轴函数代码
Oct 08 #PHP
PHP+Mysql+jQuery实现动态展示信息
Oct 08 #PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
Oct 08 #PHP
php实现用户在线时间统计详解
Oct 08 #PHP
php 文件缓存函数
Oct 08 #PHP
php数字转汉字代码(算法)
Oct 08 #PHP
You might like
PHP实现全角字符转为半角方法汇总
2015/07/09 PHP
javascript基础知识大集锦(二) 推荐收藏
2011/01/13 Javascript
JS获取各种浏览器窗口大小的方法
2014/01/14 Javascript
JavaScript实现列表分页功能特效
2015/05/15 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
JS判断是否在微信浏览器打开的简单实例(推荐)
2016/08/24 Javascript
完美解决js传递参数中加号和&amp;号自动改变的方法
2016/10/11 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
nodejs基础知识
2017/02/03 NodeJs
js的OOP继承实现(必看篇)
2017/02/18 Javascript
JavaScript递归算法生成树形菜单
2017/08/15 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
JavaScript函数重载操作实例浅析
2020/05/02 Javascript
vue中defineProperty和Proxy的区别详解
2020/11/30 Vue.js
Python程序设计入门(5)类的使用简介
2014/06/16 Python
Python实现全局变量的两个解决方法
2014/07/03 Python
详解python OpenCV学习笔记之直方图均衡化
2018/02/08 Python
python中的subprocess.Popen()使用详解
2019/12/25 Python
matplotlib 范围选区(SpanSelector)的使用
2021/02/24 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
HTML5 placeholder(空白提示)属性介绍
2013/08/07 HTML / CSS
捷克电器和DJ设备网上商店:Electronic-star
2017/07/18 全球购物
阿联酋电子产品购物网站:Menakart
2017/09/15 全球购物
美国保健品专家:Life Extension
2018/05/04 全球购物
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
行政管理专业求职信
2014/07/06 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
2014年实习生工作总结
2014/11/27 职场文书
学生评语集锦
2015/01/04 职场文书
文艺节目主持词
2015/07/06 职场文书
高二化学教学反思
2016/02/22 职场文书
python tkinter实现定时关机
2021/04/21 Python
安装pytorch时报sslerror错误的解决方案
2021/05/17 Python