Dysan Posted November 18, 2007 Share Posted November 18, 2007 I'm trying to develop a simple shopping basket, how do I remove the quantity option from the following code, so that only one of each item can be purchased instead of 2 or more? Also, if the product selected to add to basket, already exists in the shopping cart, how do I display a message notifying the user? <?php session_start(); $con = mysql_connect("localhost","ODBC",""); if (!$con) { die(mysql_error()); } function writeShoppingCart() { $cart = $_SESSION['cart']; if (!$cart) { return '<p>You have no items in your shopping cart</p>'; } else { // Parse the cart session variable $items = explode(',',$cart); $s = (count($items) > 1) ? 's':''; return '<p>You have <a href="cart.php">'.count($items).' item'.$s.' in your shopping cart</a></p>'; } } $cart = $_SESSION['cart']; if ($cart) { $cart .= ','.$_GET['id']; } else { $cart = $_GET['id']; } $_SESSION['cart'] = $cart; $cart = $_SESSION['cart']; if ($cart) { $items = explode(',',$cart); $contents = array(); foreach ($items as $item) { $contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1; } } $total = 0; echo '<table>'; foreach ($contents as $id=>$qty) { mysql_select_db("MP3", $con); $result = mysql_query("SELECT * FROM books WHERE id = '$id'") or die("Your have an error because:<br />" . mysql_error()); $row = mysql_fetch_assoc($result); echo '<tr>'; echo '<td><a href="cart.php?action=delete&id='.$id.'" class="r">Remove</a></td>'; echo '<td>'.$row['title'].' by '.$row['author'].'</td>'; echo '<td>£'.$price.'</td>'; echo '<td><input type="text" name="qty'.$id.'" value="'.$qty.'" size="3" maxlength="3" /></td>'; echo '<td>£'.($price * $qty).'</td>'; $total += $price * $qty; echo '</tr>'; } echo '</table>'; echo '<p>Grand total: £'.$total.'</p>'; ?> Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.