当前位置: 首页 > 后端技术 > PHP

PDO实现购物车类

时间:2023-03-29 16:53:36 PHP

发现pdo都快忘记了,不知道sql怎么写。想着写点东西,干脆写了个购物车类pdo=newPDO("mysql:host=$host;dbname=$db","$user","$pwd",array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));$this->pdo->query("setnamesutf8");}catch(PDOException$e){echo$e->getMessage();}}//将产品添加到购物车publicfunctionadd_cart($productid,$num){$sql="selectpricefromshop_productwhereid=?";$stmt=$this->pdo->prepare($sql);$stmt->执行(数组($productid));$data=$stmt->fetch(PDO::FETCH_ASSOC);$price=$data['价格'];$创造者我=时间();$sql="select*fromshop_cartwhereproductid=?anduserid=?";$stmt=$this->pdo->prepare($sql);$stmt->execute(array($productid,$_SESSION['user_id']));$data=$stmt->fetch(PDO::FETCH_ASSOC);if($data){$sql="updateshop_cartsetnum=num+?whereuserid=?andproductid=?";$params=array($num,$_SESSION['user_id'],$productid);}else{$sql="insertintoshop_cart(productid,num,userid,price,createtime)values(?,?,?,?,?)";$params=array($productid,$num,$_SESSION['user_id'],$price,$createtime);}$stmt=$this->pdo->prepare($sql);$stmt->执行($参数);$rows=$stmt->rowCount();返回$rows?show(1,'ok',$rows):show(0,'失败');}//修改购买数量publicfunctionchange_num($productid,$num){$sql="updateshop_cartsetnum=?whereuse摆脱=?和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');}//清空购物车publicfunctionclear_cart(){$sql="deletefromshop_cartwhereuserid=?";$stmt=$this->pdo->prepare($sql);$this->pdo->execute(array($this->user_id));$rows=$stmt->rowCount();return$rows?show(1,'ok',$rows):show(0,'fail');}//从购物车中删除商品publicfunctionremove_cart($productid){$sql="delete来自shop_cart其中productid=?和userid=?";$stmt=$this->pdo->prepare($sql);$stmt->execute(array($productid,$_SESSION['user_id']));$rows=$stmt->rowCount();返回$rows?show(1,'ok',$rows):s如何(0,“失败”);}}//处理数据函数show($status,$message,$data=array()){$result=array('status'=>$status,'message'=>$message,'data'=>$数据);exit(json_encode($result));}//简单使用$user=['host'=>'','user'=>'root','pwd'=>'root','db'=>'店铺',];$productid=intval($_POST['productid']);$num=intval($_POST['num']);$cart=newCart($user);//加入购物车$cart->add_cart($productid,$num);//删除指定商品$cart->remove_cart($productid);//清空$购物车->clear_cart();?>