Php 在会话中存储多个值
我是PHP新手。我正在创建一个网络商店。我想将购物车中产品的值传递给会话。会话的值将显示在签出页面中。请帮帮我。这是密码Php 在会话中存储多个值,php,mysql,session,Php,Mysql,Session,我是PHP新手。我正在创建一个网络商店。我想将购物车中产品的值传递给会话。会话的值将显示在签出页面中。请帮帮我。这是密码 $i = 0; $sum = 0; foreach($_SESSION["cart_array"] as $each_product){ $product_id = $each_product['productID']; $sql=mysql_query("select * from tblpro
$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;
}
您需要取消对
$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
在循环中每次都会被覆盖,因此循环完成后,它们只包含最后一行的值。我不知道你为什么要设置它们,除非循环中有使用它们的代码,但你没有显示。对不起。没有错误。唯一的问题是,当我添加新值时,它只重写$productname[]中的最后一个值。