完整示例php+pdo实现的购物车类
导读:收集整理的这篇文章主要介绍了完整示例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
