我正在学习PHP和做一个基本的电子商务购物车练习。我遇到了一个难倒我的问题。我创建了一个数组来显示购物者购物车中单个商品的当前数量,但不是显示值,而是显示"数组"。"
下面是我使用的:
<?php
if(isset($_SESSION['Cart'])){
$sql="SELECT * FROM products where Product_ID IN (";
foreach($_SESSION['Cart'] as $id => $value){
$sql.=$id.",";
}
$sql=substr($sql, 0, -1).") ORDER BY Category ASC";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query)){
?>
<p><?php echo $row['Name']?> x <?php echo $_SESSION['Cart'][$row['Product_ID']['quantity']] ?></p>
<?php
}
}else{
echo "<p>There are no products selected</p>";
}
?>
我不确定这是否是确切的问题所在。我的网站的其余部分来自这里(索引)和这里(产品页面),如果有人愿意和我一起解决问题。
根据您的反馈如果尝试print_r($_SESSION['Cart'][$row['Product_ID']['quantity']]['quantity])
得到Array ( [quantity] => 1 )
则可以回显$_SESSION['Cart'][$row['Product_ID']['quantity']]['quantity]
得到1
但我不认为这是初衷。我认为你真正的问题是当你给数组赋值时,键可能不匹配。
试试上面的代码,看看是否有帮助
我认为这行代码有问题:
$_SESSION['Cart'][$row['Product_ID']['quantity']]
你从$_SESSION['Cart']
得到一个值,那里有$row
的维度数组。我认为$row['Product_ID']
不是一个数组,而是string
或int
,所以调用$row['Product_ID']['quantity']
是一个问题。