国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PDO實現購物車類

cnsworder / 425人閱讀

摘要:發現忘記的差不多了,也不會寫了想著寫點什么東西簡單的寫個購物車類請先登錄添加商品到購物車修改購買數量清空購物車從購物車中刪除商品處理數據簡單使用添加到購物車刪除指定的商品清空

發現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

相關文章

  • PHP 數據庫操作

    摘要:操作數據庫的種形式使用擴展類庫推薦使用擴展類庫這是類庫的升級版,但已經不推薦使用擴展包含哪三個類與區別可以支持多種數據庫,而且操作方法一致只支持數據庫如何使用連接數據庫什么是如何關閉連接通過來連接數據庫,其中必須傳入數據源名稱數據源名稱是 PHP操作數據庫的2種形式 使用 PDO 擴展類庫(推薦) 使用 Mysqli 擴展類庫(這是Mysql類庫的升級版,但已經不推薦使用) PDO...

    Jingbin_ 評論0 收藏0
  • 寫一個“特殊”的查詢構造器 - (二、第一條語句)

    摘要:注在常駐內存單例模式下,這種多次用一個類進行查詢的情形很常見。斷線重連對于典型環境而言,一次的查詢已經隨著的請求而結束,的垃圾回收功能會回收一次請求周期內的數據。但在常駐內存的環境下,尤其是單例模式下,數據庫驅動類可能一直在內存中不被銷毀。 構造、執行第一條語句 上一篇完成了代碼結構的搭建和 PDO 的基礎封裝,這一篇我們來講如何構造一個最基本的 SQL 語句,并執行得到結果。 que...

    dadong 評論0 收藏0
  • 寫一個“特殊”的查詢構造器 - (七、DML 語句、事務)

    摘要:同樣的,添加屬性,修改函數構造語句的方法基類中添加方法檢測有沒有設置子句構建語句參數綁定返回影響的行數更新數據示例相比,語句更為簡單,只需子句即可。 查詢語句 (DQL) 的構造功能開發完畢,我們再給查詢構造器增加一些對 DML (Data Manipulation Language) 語句的支持,如簡單的 insert、update、delete 操作。 insert 我們先回顧下 ...

    lookSomeone 評論0 收藏0
  • Laravel 學習筆記之 Query Builder 源碼解析(中)

    說明:本篇主要學習數據庫連接階段和編譯SQL語句部分相關源碼。實際上,上篇已經聊到Query Builder通過連接工廠類ConnectionFactory構造出了MySqlConnection實例(假設驅動driver是mysql),在該MySqlConnection中主要有三件利器:IlluminateDatabaseMysqlConnector;IlluminateDatabaseQuery...

    zhou_you 評論0 收藏0

發表評論

0條評論

cnsworder

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<