データベースと PHP セッションを使用してユーザーのショッピング カートを保存するにはどうすればよいですか? それが役立つ場合、私はCodeIgniterを使用しています。
サンプルコードもいいでしょう。
データベースと PHP セッションを使用してユーザーのショッピング カートを保存するにはどうすればよいですか? それが役立つ場合、私はCodeIgniterを使用しています。
サンプルコードもいいでしょう。
CodeIgnitorセッションクラスを確認することをお勧めします。
さらに、このトピックに関するChrisShiflettのディスカッションを見ることができます。
これはどう ; - ゲストがカートに商品を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
}
}
次のようなバスケット関数への追加を記述します。
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();
。これは、データベースでクエリを実行する前に必要です。