4

データベースと PHP セッションを使用してユーザーのショッピング カートを保存するにはどうすればよいですか? それが役立つ場合、私はCodeIgniterを使用しています。

サンプルコードもいいでしょう。

4

3 に答える 3

3

CodeIgnitorセッションクラスを確認することをお勧めします。

さらに、このトピックに関するChrisShiflettのディスカッションを見ることができます。

于 2008-11-25T03:30:14.653 に答える
1

これはどう ; - ゲストがカートに商品を1つ追加したとき

  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
    }
  }
于 2008-12-22T05:44:14.447 に答える
1

次のようなバスケット関数への追加を記述します。

function AddToBasket(){
    if(is_numeric($_GET["ID"])){
        $ProductID=(int)$_GET["ID"];
        $_SESSION["Basket"][]=$ProductID;
        $sOut.=ShowBasketDetail();
        return $sOut; 
    }
}

このショッピング バスケット関数では、製品 ID をセッション配列に保存します。

これが私がショーバスケット機能に持っているものです:

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]);
}

session_start();製品 ID をセッション バスケットに追加する前に忘れないでください。また、関数を忘れないでくださいmysql_connect();。これは、データベースでクエリを実行する前に必要です。

于 2008-11-25T13:40:21.787 に答える