会话登录后在我的购物车php中出现问题?

时间:2015-12-23 12:01:51

标签: mysql

 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."')");
 }
}
                ?>

注意: 我面临着我的数据库的问题,第一次用户在购物车中添加产品,它进入插入,再次同一个用户提供继续推车与另一个产品,它将三个值添加到数据库?检查此enter image description here

1 个答案:

答案 0 :(得分:0)

注意:请开始使用mysqlipdo

未经过测试但请尝试遵循以下内容:

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