2

我正在使用一种将数据从两个 MySQL 数据库中提取到单个动态页面中的表单。当用户单击添加到购物车时,我想将该数据存储在多维会话数组中,以便稍后在他们单击查看购物车时调用。我想知道当从添加到购物车表单添加新项目时如何自动增加项目的子集标识符(数组键?)。这是我到目前为止所拥有的:

$newitem = array ($row_getimages['icon'],$row_getimages['title'],$row_getshoppingcart['medium'],$row_getshoppingcart['size'],$row_getshoppingcart['price'],$row_getshoppingcart['shipping']);


session_start();

if(isset($_SESSION['item'][1]))
$_SESSION['item'][1] = $_SESSION['item'][1]+ 1;
else
$_SESSION['item'][1] = 1;

以后调用数据的任何帮助也将不胜感激。由于用户可能在会话中存储了 1 或 20 个项目,因此我不确定如何确保所有项目都会得到回显,无论它们添加了多少。

这是我第一次参加多维数组和会议。显然,因为图像页面是动态的,并且购买价格取决于几个因素,所以像我过去那样只使用 MySQL 数据库是不可能的。

提前感谢您的宝贵时间。

4

2 回答 2

0

如果数字顺序不重要,您可以使用:

$_SESSION['item'][] = array('a','b','c','d','e','f');

使用[]只会在数组末尾添加一个新元素。

但是,我可能会使用产品 ID 作为密钥。

于 2012-12-03T17:01:39.263 回答
0
$newitem = array ('id' => $row_getshoppingcart['id'] , 'icon' => $row_getimages['icon'],'title' => $row_getimages['title'],'medium' => $row_getshoppingcart['medium'],'size' => $row_getshoppingcart['size'],'price' => $row_getshoppingcart['price'],'shipping' => $row_getshoppingcart['shipping']);


session_start();

$_SESSION['item'][] = $newitem;

如果我正确理解您的系统,这就是您所要做的。

更新

我更新了$newitem数组以包含数组键。您可以使用如下数组引用新项目信息:

$_SESSION['item'][(num)]['id']

或者您可以像这样遍历结果:

foreach ( $_SESSION['item'] AS $item ) 
{  
 echo 'id: ' . $item['id'] . '<br />'; 
 echo 'title: ' . $item['title'];  
 // and so on 
}
于 2012-12-03T17:05:30.147 回答