• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php+pdo实现的购物车类完整示例

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

    ?php
    session_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();
    ?>
    
    

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

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

    您可能感兴趣的文章:
    • PHP PDO预处理语句及事务的使用
    • PHP如何初始化PDO及原始SQL语句操作
    • PHP中PDO关闭连接的方法问题
    • PHP使用PDO 连接与连接管理操作实例分析
    • PHP使用PDO实现mysql防注入功能详解
    • PHP PDO和消息队列的个人理解与应用实例分析
    • php pdo连接数据库操作示例
    • PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
    • PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
    • php如何用PDO操作大数据对象
    上一篇:正版phpstorm免费激活步骤教程详解
    下一篇:Linux下PHP+Apache的26个必知的安全设置
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    php+pdo实现的购物车类完整示例 php+pdo,实现,的,购物车,类,