首页后端开发PHP完整示例php+pdo实现的购物车类

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

时间2024-02-02 08:07:03发布访客分类PHP浏览522
导读:收集整理的这篇文章主要介绍了完整示例php+pdo实现的购物车类,觉得挺不错的,现在分享给大家,也给大家做个参考。本文实例讲述了php+pdo实现的购物车类。分享给大家供大家参考,具体如下:<?phpsession_start( ;c...
收集整理的这篇文章主要介绍了完整示例php+pdo实现的购物车类,觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

相关学习推荐:@R_777_1386@从入门到精通

以上就是完整示例php+pdo实现的购物车类的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 完整示例php+pdo实现的购物车类
本文地址: https://pptw.com/jishu/596579.html
新鲜出炉的PHP高级面试题来啦!【附答案】 示例PHP实现单文件、多个单文件、多文件上传函数的封装

游客 回复需填写必要信息