2017-08-17 107 views
0

如果多次选择相同的项目以添加到购物车,我正在处理的代码将在购物车的显示表上添加另一行,而不仅仅是更新购物车的数量项目。在PHP购物车中添加项目

我希望只更新项目的数量,而不是在车

<?php $total = 0; ?> 
<?php if(isset($_SESSION['cart'])){ ?> 
<?php foreach($_SESSION['cart'] as $row): ?> 
<?php if($row['qty'] != 0): ?> 
<tr> 
    <td class="text-center"><strong><?php echo 
    $row['product'];?></strong></td> 
    <td class="text-center"> 
    <?php echo $row['price'];?> 
    </td> 
    <td class="text-center"> 
    <form action="cart/data.php?q=updatecart&id=<?php echo 
    $row['proID'];?>" method="POST"> 
     <input type="number" name="qty" value="<?php echo 
    $row['qty'];?>" min="0" style="width:50px;" /> 
     <button type="submit" class="btn btn-info">Update</button> 
    </form> 
    </td> 
    <?php $itotal = $row['price'] * $row['qty']; ?> 
    <td class="text-center"> 
    <font class="itotal"> 
     <?php 
    echo $itotal; ?> 
    </font> 
    </td> 
    <td class="text-center"><a href="cart/data.php? 
    q=removefromcart&id=<?php echo $row['proID'];?>"><i class="fa fa-times- 
    circle fa-lg text-danger removeproduct"></i></a></td> 
</tr> 
<?php $total = $total + $itotal;?> 
<?php endif;?> 
<?php endforeach; ?> 
<?php $_SESSION['totalprice'] = isset($_SESSION['totalprice']) ? 
    $_SESSION['totalprice'] : $total; ?> 
+0

data.php是什么?你的问题将在那里,而不是在这个代码中。 – Viktor

+0

它具有函数function addtocart($ product,$ price,$ qty)$ cart = array( 'proID'=> $ _SESSION ['proID'], 'product'=> $ product, 'price '=> $ price, 'qty'=> $ qty ); $ _SESSION ['proID'] = $ _SESSION ['proID'] + 1; array_push($ _ SESSION ['cart'],$ cart); 返回true; } – Leej

回答

0

再次显示它运行的产品ID的检查,同时增加了卡,

如果ProductID等于已经在车 加1数量

否则 只需添加到购物车

也可尝试CLE搞定你的代码,这很难理解。