0

Does anyone would help me how dto update my shopping cart quantity
please.
here my php code

function updateCart()
{
    $cartId     = $_POST['hidCartId'];
    $productId  = $_POST['hidProductId'];
    $itemQty    = $_POST['txtQty'];
    $numItem    = count($itemQty);
    $numDeleted = 0;
    $notice     = '';

    for ($i = 0; $i < $itemQty; $i++) {
        $newQty = (int)$itemQty[$i];
        if ($newQty < 1) {
            // remove this item from shopping cart
            deleteFromCart($cartId[$i]);    
            $numDeleted += 1;
        } else {
            // check current stock
            $sql = "SELECT pd_name, pd_qty
                    FROM tbl_product 
                    WHERE pd_id = {$productId[$i]}";
            $result = dbQuery($sql);
            $row    = dbFetchAssoc($result);

            if ($newQty > $row['pd_qty']) {
                // we only have this much in stock
                $newQty = $row['pd_qty'];

                // if the customer put more than
                // we have in stock, give a notice
                if ($row['pd_qty'] > 0) {
                    setError('The quantity you have requested is more than we currently have in stock. The number available is indicated in the &quot;Quantity&quot; box. ');
                } else {
                    // the product is no longer in stock
                    setError('Sorry, but the product you want (' . $row['pd_name'] . ') is no longer in stock');

                    // remove this item from shopping cart
                    deleteFromCart($cartId[$i]);    
                    $numDeleted += 1;                   
                }
            } 

            // update product quantity
            $sql = "UPDATE tbl_cart
                    SET ct_qty = $newQty
                    WHERE ct_id = {$cartId[$i]}";

            dbQuery($sql);
        }
    }

this is my html codes:

<form action="<?php echo $_SERVER['PHP_SELF'] . "?action=update"; ?>" method="post" name="frmCart" id="frmCart">
 <table width="780" border="0" align="center" cellpadding="5" cellspacing="1" class="entryTable">
  <tr class="entryTableHeader"> 
   <td colspan="2" align="center">Item</td>
   <td align="center">Unit Price</td>
   <td width="75" align="center">Quantity</td>
   <td align="center">Total</td>
  <td width="75" align="center">&nbsp;</td>
 </tr>
 <?php
$subTotal = 0;
for ($i = 0; $i < $numItem; $i++) {
    extract($cartContent[$i]);
    $productUrl = "index.php?c=$cat_id&p=$pd_id";
    $subTotal += $pd_price * $ct_qty;
?>
 <tr class="content"> 
  <td width="80" align="center"><a href="<?php echo $productUrl; ?>"><img src="<?php echo $pd_thumbnail; ?>" border="0"></a></td>
  <td><a href="<?php echo $productUrl; ?>"><?php echo $pd_name; ?></a></td>
   <td align="right"><?php echo displayAmount($pd_price); ?></td>
  <td width="75"><input name="txtQty[]" type="text" id="txtQty[]" size="5" value="<?php echo $ct_qty; ?>" class="box" onKeyUp="checkNumber(this);">
  <input name="hidCartId[]" type="hidden" value="<?php echo $ct_id; ?>">
  <input name="hidProductId[]" type="hidden" value="<?php echo $pd_id; ?>">
  </td>
  <td align="right"><?php echo displayAmount($pd_price * $ct_qty); ?></td>
  <td width="75" align="center"> <input name="btnDelete" type="button" id="btnDelete" value="Delete" onClick="window.location.href='<?php echo $_SERVER['PHP_SELF'] . "?action=delete&cid=$ct_id"; ?>';" class="box"> 
  </td>
 </tr>
 <?php
}
?>
 <tr class="content"> 
  <td colspan="4" align="right">Sub-total</td>
  <td align="right"><?php echo displayAmount($subTotal); ?></td>
  <td width="75" align="center">&nbsp;</td>
 </tr>
<tr class="content"> 
   <td colspan="4" align="right">Shipping </td>
  <td align="right"><?php echo displayAmount($shopConfig['shippingCost']); ?></td>
  <td width="75" align="center">&nbsp;</td>
 </tr>
<tr class="content"> 
   <td colspan="4" align="right">Total </td>
  <td align="right"><?php echo displayAmount($subTotal + $shopConfig['shippingCost']); ?></td>
  <td width="75" align="center">&nbsp;</td>
 </tr>  
 <tr class="content"> 
  <td colspan="5" align="right">&nbsp;</td>
  <td width="75" align="center">
<input name="btnUpdate" type="submit" id="btnUpdate" value="Update Cart" class="box"></td>
 </tr>
</table>
</form>
<?php
} else {

?>

Edited by Dani: Formatting fixed

2
Contributors
1
Reply
5
Views
5 Years
Discussion Span
Last Post by minitauros
0

Well I must say that it's kind of unclear to me which part of the code you want us to look at, but what usually works is finding the current quantity of the item in your shopping cart, and then substracting or adding a certain value from or to that quantity. Then save the new value as the current quantity. That's the update.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.