php+pdo实现的购物车类完整示例_php技巧

来源:脚本之家  责任编辑:小易  

这个感觉用cookie就好了啦你一步步的跟踪一下,看看是哪儿没拿到值,可以在foreach之前把session的数组转存到一个变量里www.zgxue.com防采集请勿采集本网。

本文实例讲述了php+pdo实现的购物车类。分享给大家供大家参考,具体如下:

URL传递的参数可以在连接后的程序中直接使用,如: php?a1=YF0001&b1=500&c1=8888&d1=YF0001.html \"如果是购物车,我举得不应该使用cookie来保存信息,而是要用session,这样比较好一些!

<?phpsession_start();class Cart{ public $pdo = null; public function __construct($config) { $host = $config['host']; $user = $config['user']; $db = $config['db']; $pwd = $config['pwd']; if (empty($_SESSION['user_id'])) { return show(0, '请先登录'); } try { $this->pdo = new PDO("mysql:host=$host;dbname=$db", "$user", "$pwd", array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); $this->pdo->query("set names utf8"); } catch (PDOException $e) { echo $e->getMessage(); } } //添加商品到购物车 public function add_cart($productid, $num) { $sql = "select price from shop_product where id=?"; $stmt = $this->pdo->prepare($sql); $stmt->execute(array($productid)); $data = $stmt->fetch(PDO::FETCH_ASSOC); $price = $data['price']; $createtime = time(); $sql = "select * from shop_cart where productid=? and userid=?"; $stmt = $this->pdo->prepare($sql); $stmt->execute(array($productid, $_SESSION['user_id'])); $data = $stmt->fetch(PDO::FETCH_ASSOC); if ($data) { $sql = "update shop_cart set num=num+? where userid=? and productid=?"; $params = array($num, $_SESSION['user_id'], $productid); } else { $sql = "insert into shop_cart(productid,num,userid,price,createtime) values(?,?,?,?,?)"; $params = array($productid, $num, $_SESSION['user_id'], $price, $createtime); } $stmt = $this->pdo->prepare($sql); $stmt->execute($params); $rows = $stmt->rowCount(); return $rows ? show(1, 'ok', $rows) : show(0, 'fail'); } //修改购买数量 public function change_num($productid, $num) { $sql = "update shop_cart set num=? where userid=? and productid=?"; $stmt = $this->pdo->prepare($sql); $stmt->execute(array($num, $_SESSION['user_id'], $productid)); $rows = $stmt->rowCount(); return $rows ? show(1, 'ok', $rows) : show(0, 'fail'); } //清空购物车 public function clear_cart() { $sql = "delete from shop_cart where userid=?"; $stmt = $this->pdo->prepare($sql); $this->pdo->execute(array($this->user_id)); $rows = $stmt->rowCount(); return $rows ? show(1, 'ok', $rows) : show(0, 'fail'); } //从购物车中删除商品 public function remove_cart($productid) { $sql = "delete from shop_cart where productid=? and userid=?"; $stmt = $this->pdo->prepare($sql); $stmt->execute(array($productid, $_SESSION['user_id'])); $rows = $stmt->rowCount(); return $rows ? show(1, 'ok', $rows) : show(0, 'fail'); }}//处理数据function show($status, $message, $data = array()){ $result = array( 'status' => $status, 'message' => $message, 'data' => $data ); exit(json_encode($result));}//简单使用$user = [ 'host' => '', 'user' => 'root', 'pwd' => 'root', 'db' => 'shop',];$productid = intval($_POST['productid']);$num = intval($_POST['num']);$cart = new Cart($user);//添加到购物车$cart->add_cart($productid, $num);//删除指定的商品$cart->remove_cart($productid);//清空$cart->clear_cart();?>

购物车就是用session来实现的。session和cookie的不同主要在于前者保存在服务器端,而后者保存在客户端电脑上。比如用户登录,浏览器经常提示你是否保存登录信息,如果保存了,就新建了一个

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP+MySQL购物车开发专题》、《php面向对象程序设计入门教程》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》、及《php常见数据库操作技巧汇总

下面是我写的一个session购物车分析,你可以参考一下: 购物车分分析 1.购物车用session实现,不论会员有没有登录都存入到session中,用一个二维数组进行存储;2.商品数量默认为1,不在详情购物页允许

希望本文所述对大家PHP程序设计有所帮助。

MySQL不是什么难点,无非就是些查询、插入之类的语句,关键是在于购物车所选商品的临时增减维护的工作,需要将商品信息序列化后配合前台COOKIE做临时保存,如果想要实现更好的如页面无刷新实时交互操作的

也可以用文件来存啊,这要看你的网站规模了。信息放到哪只是个存储问题,和购物车类本身没多大关系吧。你自己可以改造一下,改成符合你的要求嘛。参考资料里是我两年前的一篇,你可以参考下内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • php实现保存周期为1天的购物车类
  • php购物车类cart.class.php定义与用法示例
  • php实现仿写codeigniter的购物车类
  • php实现的购物车类实例
  • php实现的比较完善的购物车类
  • php 购物车完整实现代码
  • php 购物车的例子
  • 深入php购物车模块功能分析(函数讲解,附源码)
  • php利用cookies实现购物车的方法
  • php实现购物车功能(以大苹果购物网为例)
  • php会话处理的10个函数
  • php通过gd库实现验证码功能示例
  • php实现在新浪云中使用imagick生成缩略图并上传的方法
  • php数据源架构模式之表入口模式实例分析
  • 与文件上传有关的php配置参数总结
  • 防止用户利用php代码dos造成用光网络带宽
  • php排序算法类实例
  • php常用的安全过滤函数集锦
  • php读取xml的常见方法实例总结
  • 两种设置php载入页面时编码的方法
  • php 最新的购物车session类
  • 一个最简单的用PHP实现购物车功能,请高手指点
  • php购物车结账:以下如何编写checkout()方法,最好有解释 最好再能解释以下Icart类中check()方法的用意
  • php session实现购物车的原理
  • 用php结合cookie实现购物车的一些问题
  • php是怎么实现购物车的,SESSION 和cookie 在哪里会用到
  • 一个 商品表 有 ID num price name 需要做一个PHP的 购物车,怎么做啊?
  • 怎样用PHP编个购物车的程序?
  • 要一个简单的PHP购物网站源码
  • session和cookie的区别和联系
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全php基础php技巧php实例php文摘php模板首页php编程php技巧php+mysql购物车开发专题php面向对象程序设计入门教程php数学运算技巧总结php数组(array)操作技巧大全php字符串(string)用法总结php数据结构与算法教程php程序设计算法总结php正则表达式用法总结php常见数据库操作技巧汇总php实现保存周期为1天的购物车类php购物车类cart.class.php定义与用法示例php实现仿写codeigniter的购物车类php实现的购物车类实例php实现的比较完善的购物车类php 购物车完整实现代码php 购物车的例子深入php购物车模块功能分析(函数讲解,附源码)php利用cookies实现购物车的方法php实现购物车功能(以大苹果购物网为例)php会话处理的10个函数php通过gd库实现验证码功能示例php实现在新浪云中使用imagick生成缩略图并上传的方法php数据源架构模式之表入口模式实例分析与文件上传有关的php配置参数总结防止用户利用php代码dos造成用光网络带宽php排序算法类实例php常用的安全过滤函数集锦php读取xml的常见方法实例总结两种设置php载入页面时编码的方法php中json_decode()和json_encodphp 数组和字符串互相转换实现方php中使用curl实现get和post请求php中iconv函数使用方法php日期转时间戳,指定日期转换成php 页面跳转到另一个页面的多种php中文处理 中文字符串截取(mb_php下intval()和(int)转换使用与利用phpexcel实现excel数据的导入phpmyadmin 配置文件详解(配置)php经典面试题集锦php使用适合阅读的格式显示文件大小的方法浅谈php优化需要注意的地方php中使用gettext来支持多语言的方法php基于自定义类随机生成姓名的方法示例linux下安装oracle客户端并配置php5.3php 无限级分类,超级简单的无限级分类,php下删除一篇文章生成的多个静态页面shopex中集成的站长统计功能的代码简单分win10 apache配置虚拟主机后localhost无法
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved