繁体   English   中英

多维会话数组

[英]multi dimension session array

我正在使用一种将数据从两个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数据库是不可能的。

预先感谢您的宝贵时间。

如果对于数字而言连续的顺序并不重要,则可以使用:

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

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

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

$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 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM