摘要:發現忘記的差不多了,也不會寫了想著寫點什么東西簡單的寫個購物車類請先登錄添加商品到購物車修改購買數量清空購物車從購物車中刪除商品處理數據簡單使用添加到購物車刪除指定的商品清空
發現pdo忘記的差不多了,sql也不會寫了 想著寫點什么東西 簡單的寫個購物車類
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(); ?>
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/23148.html
摘要:注在常駐內存單例模式下,這種多次用一個類進行查詢的情形很常見。斷線重連對于典型環境而言,一次的查詢已經隨著的請求而結束,的垃圾回收功能會回收一次請求周期內的數據。但在常駐內存的環境下,尤其是單例模式下,數據庫驅動類可能一直在內存中不被銷毀。 構造、執行第一條語句 上一篇完成了代碼結構的搭建和 PDO 的基礎封裝,這一篇我們來講如何構造一個最基本的 SQL 語句,并執行得到結果。 que...
摘要:同樣的,添加屬性,修改函數構造語句的方法基類中添加方法檢測有沒有設置子句構建語句參數綁定返回影響的行數更新數據示例相比,語句更為簡單,只需子句即可。 查詢語句 (DQL) 的構造功能開發完畢,我們再給查詢構造器增加一些對 DML (Data Manipulation Language) 語句的支持,如簡單的 insert、update、delete 操作。 insert 我們先回顧下 ...
說明:本篇主要學習數據庫連接階段和編譯SQL語句部分相關源碼。實際上,上篇已經聊到Query Builder通過連接工廠類ConnectionFactory構造出了MySqlConnection實例(假設驅動driver是mysql),在該MySqlConnection中主要有三件利器:IlluminateDatabaseMysqlConnector;IlluminateDatabaseQuery...
閱讀 837·2021-11-18 10:07
閱讀 2355·2021-10-14 09:42
閱讀 5315·2021-09-22 15:45
閱讀 585·2021-09-03 10:29
閱讀 3462·2021-08-31 14:28
閱讀 1873·2019-08-30 15:56
閱讀 3038·2019-08-30 15:54
閱讀 994·2019-08-29 11:32