Here is my cart code:
if($_SESSION['SES_NAME'] && is_array($_SESSION['cart']))
{
if(is_array($_SESSION['cart'])){
//echo $_SESSION['cart'];
echo '<tr bgcolor="#FFFFFF" style="font-weight:bold"><td>Serial</td><td>Name</td><td>Image</td><td>Kg</td><td>Price</td><td>Qty</td><td>Amount</td><td>Options</td></tr>';
$max=count($_SESSION['cart']);
for($i=0;$i<$max;$i++){
$pid=$_SESSION['cart'][$i]['productid'];
$q=$_SESSION['cart'][$i]['qty'];
$pname=get_product_name($pid);
$pimage=get_image($pid);
$price=get_price($pid);
$total=get_order_total();
$sql=mysql_query("insert into cart (uname,pid,pinfo,price,quantity,total) values ('".$_SESSION['SES_NAME']."','".$pid."','".$pname."','".$price."','".$q."','".$total."')");
}
}
?>
注意: 我面临着我的数据库的问题,第一次用户在购物车中添加产品,它进入插入,再次同一个用户提供继续推车与另一个产品,它将三个值添加到数据库?检查此
答案 0 :(得分:0)
注意:请开始使用mysqli
或pdo
。
未经过测试但请尝试遵循以下内容:
<?php
if($_SESSION['SES_NAME'] && is_array($_SESSION['cart']))
{
if(is_array($_SESSION['cart'])){
//echo $_SESSION['cart'];
echo '<tr bgcolor="#FFFFFF" style="font-weight:bold"><td>Serial</td><td>Name</td><td>Image</td><td>Kg</td><td>Price</td><td>Qty</td><td>Amount</td><td>Options</td></tr>';
$max=count($_SESSION['cart']);
for($i=0;$i<$max;$i++){
$pid=$_SESSION['cart'][$i]['productid'];
$q=$_SESSION['cart'][$i]['qty'];
$pname=get_product_name($pid);
$pimage=get_image($pid);
$price=get_price($pid);
$total=get_order_total();
$sql="select * from cart where pid=$pid and uname='".$_SESSION['SES_NAME']."'";
$res=mysql_query($sql);
$num_rows = mysql_num_rows($result);
if($num_rows > 0){
$rst = mysql_fetch_array ( $res, MYSQL_ASSOC );
$sql=" update cart set quantity =".$q+$rst['quantity']." where pkey=".$rst['pkey'];//you can add multiple columns to update
}else{
$sql=mysql_query("insert into cart (uname,pid,pinfo,price,quantity,total) values ('".$_SESSION['SES_NAME']."','".$pid."','".$pname."','".$price."','".$q."','".$total."')");
}
//run the sql here
}
}
}
?>