如何使用数据库和PHP会话来存储用户的购物车?我正在使用CodeIgniter,如果这有帮助的话。
示例代码也会很好。
发布于 2008-11-25 13:40:22
我会像这样写一个添加到篮子的函数:
function AddToBasket(){
    if(is_numeric($_GET["ID"])){
        $ProductID=(int)$_GET["ID"];
        $_SESSION["Basket"][]=$ProductID;
        $sOut.=ShowBasketDetail();
        return $sOut; 
    }
}在这个购物篮函数中,我们将产品In保存在一个会话数组中。
以下是我将在显示篮子函数中包含的内容:
function ShowBasket(){
    foreach($_SESSION[Basket] as $ProductID){
        $sql="select * from products where ProductID=$ProductID";
        $result=mysql_query($sql);
        $row=mysql_fetch_row($result);
        echo "Product: ".$row[0];
        }
}对于会话篮中的每个ProudctID,我们执行一个SQL查询以输出产品信息。
现在,最后但并非最不重要的,一个清晰的篮子函数:
function ClearBasket(){
    unset($_SESSION[Basket]);
}在将任何产品ID添加到会话篮子之前,不要忘记session_start();。另外,不要忘记mysql_connect();函数,在对数据库进行任何查询之前,您需要该函数。
发布于 2008-11-25 03:30:15
我建议你看看the CodeIgnitor Session Class。
此外,您可以查看有关此主题的Chris Shiflett's discussion。
发布于 2008-12-22 05:44:14
这样如何;-当客人在购物车中添加一项产品时
  function addCartItem($item_id, $qty)
  {
    $basket = $this->session->userdata('basket');
    if(!$basket)
    {
       $this->session->set_userdata('basket', array($item_id => $qty));
    }
    else
    {
       ## get array from $basket and *merge some new value from input
    }
  }https://stackoverflow.com/questions/316222
复制相似问题