我是PHP新手。我正在创建一个网上商店。我想将购物车中产品的值传递给会话。会话的价值将显示在结帐页面中。请帮我。这是代码。
$i = 0;
$sum = 0;
foreach($_SESSION["cart_array"] as $each_product){
$product_id = $each_product['productID'];
$sql=mysql_query("select * from tblproduct where prod_id='$product_id'");
while($row=mysql_fetch_array($sql)){
$prodNo = $row["prod_no"];
$prodID = $row["prod_id"];
$prodName = $row["prod_name"];
$prodPrice = $row["prod_price"];
$prodQuan = $row["prod_quan"];
$supp = $row["supplier"];
$sum +=$row['prod_price'];
$pricetotal=$prodPrice*$each_product['quantity'];
$productname=array();
$productname[] = $prodName;
$_SESSION['name'] = $productname;
}
答案 0 :(得分:0)
您需要将$productname
的初始化从循环中取出。并且您只需在循环完成时分配给会话变量。
$productname=array();
while($row=mysql_fetch_array($sql)){
$prodNo = $row["prod_no"];
$prodID = $row["prod_id"];
$prodName = $row["prod_name"];
$prodPrice = $row["prod_price"];
$prodQuan = $row["prod_quan"];
$supp = $row["supplier"];
$sum +=$row['prod_price'];
$pricetotal=$prodPrice*$each_product['quantity'];
$productname[] = $prodName;
}
$_SESSION['name'] = $productname;
每次通过循环都会覆盖所有其他变量,如$prodNo
和$prodID
,因此当循环完成时,它们只包含最后一行的值。我不确定你为什么设置它们,除非你在循环中使用了你没有显示的代码。