在会话数组中存储多个值并进行检索

时间:2014-04-30 23:07:26

标签: php

我正在用PHP写一个脚本,这与购物车非常相似。我想要做的是当用户添加某个产品时,我需要将产品,产品数量和产品大小添加到会话数组中,而不是存储在数据库中。因此,每次用户添加产品时,productid都需要存储在会话变量中。

当用户结账时,我需要检索所有产品并显示?

有人可以解释一下如何做到这一点吗?因为我的阵列只显示了1个产品,但并非全部。

我还阅读了这个平台上的帖子,但也没有cux再次存储只有变量..该帖子的链接

[link](store mutiple values in php session

Thanx提前寻求帮助。

我试过的代码:

 $cart=array("p_id"=>"$_SESSION[productid]",
             "p_size"=>"$_SESSION[p_size]",
             "p_qty"=>"$_SESSION[p_qty]");

 $_SESSION["cart"]=$cart;


 foreach ($_SESSION['cart'] as $item) {
 echo $item;

}

1 个答案:

答案 0 :(得分:3)

您正在覆盖购物车中的最后一个产品。而不是$_SESSION["cart"]=$cart;$_SESSION["cart"][]=$cart;

$cart = array (
    'p_id' => $_SESSION['productid'],
    'p_size' => $_SESSION['p_size'],
    'p_qty' => $_SESSION['p_qty']
);

$_SESSION['cart'][] = $cart;


foreach ($_SESSION['cart'] as $item) {
    echo 'p_id: ', $item['p_id'], '<br />';
    echo 'p_size: ', $item['p_size'], '<br />';
    echo 'p_qty: ', $item['p_qty'], '<br /><br />';
}