如何使用数据库和PHP会话来存储用户的购物车?我正在使用CodeIgniter,如果有帮助的话。
示例代码也不错。
答案 0 :(得分:3)
我建议您查看the CodeIgnitor Session Class。
此外,您可以在此主题上查看Chris Shiflett's discussion。
答案 1 :(得分:1)
我会写一个像篮子这样的添加功能:
function AddToBasket(){
if(is_numeric($_GET["ID"])){
$ProductID=(int)$_GET["ID"];
$_SESSION["Basket"][]=$ProductID;
$sOut.=ShowBasketDetail();
return $sOut;
}
}
在此购物篮功能中,我们将产品ID保存在会话数组中。
以下是我在show basket函数中的内容:
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();
函数,在对数据库进行任何查询之前需要这样做。
答案 2 :(得分: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
}
}