Search the Community
Showing results for tags 'cart design'.
-
Trying to create a shopping cart that allows user to select not only the product, but the condition of the item (poor condition, good condition, excellent condition), and additional accessories based on the form data submitted. Basically, I'd like to use the same ID for a product with different conditions and accessories. Just not sure how to get there. Any help, advice, or resources is much appreciated! Thank you. Here is the form data I'm collecting from the user: // Phone Type $field_Phone = $_POST['field_Phone'] = $_SESSION['field_Phone']; // Accessories $field_Charger = $_POST['field_Charger'] = $_SESSION['field_Charger']; $field_Case = $_POST['field_Case'] = $_SESSION['field_Case']; $field_Manual = $_POST['field_Manual'] = $_SESSION['field_Manual']; $field_Box = $_POST['field_Box'] = $_SESSION['field_Box']; // Item Condition $field_Condition = $_POST['field_Condition'] = $_SESSION['field_Condition']; Here's the item from the database: <?php // DB Query $query = "SELECT * FROM phones WHERE name = '{$field_Phone}'"; $result = mysql_query($query); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $output[] = '<a href="cart-demo/cart.php?action=add&id='.$row['id'].'">Add to cart</a>'; } ?> Here's the functions that output the product selected: <?php function writeShoppingCart() { $cart = $_SESSION['cart']; if (!$cart) { return 'Cart (Empty)'; } else { // Parse the cart session variable $items = explode(',',$cart); $s = (count($items) > 1) ? 's':''; return 'Cart (<a href="cart-demo/cart.php">'.count($items).'</a>)'; } } function showCart() { global $db; $cart = $_SESSION['cart']; if ($cart) { $items = explode(',',$cart); $contents = array(); foreach ($items as $item) { $contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1; } $output[] = '<form action="cart.php?action=update" method="post" id="cart">'; $output[] = '<table>'; foreach ($contents as $id=>$qty) { $sql = 'SELECT * FROM phones WHERE id = '.$id; $result = $db->query($sql); $row = $result->fetch(); extract($row); $output[] = '<tr>'; $output[] = '<td><a href="cart.php?action=delete&id='.$id.'" class="r">Remove</a></td>'; $output[] = "<td>" .$name. "</td>"; $output[] = "<td><img src=\"../images/catalog-images/" .$photo_image. "\" width=\"50\"/></td>"; $output[] = "<td> ".$_SESSION['accessories']." </td>"; $output[] = '<td> $ '.$price.'</td>'; $output[] = '<td><input type="text" name="qty'.$id.'" value="'.$qty.'" size="3" maxlength="3" /></td>'; $output[] = '<td> $'.($base_price * $qty).'</td>'; $total += $base_price * $qty; $output[] = '</tr>'; } $output[] = '</table>'; $output[] = '<p>Grand total: <strong>$ '.$total.'</strong></p>'; $output[] = '<div><button type="submit">Update cart</button></div>'; $output[] = '</form>'; } else { $output[] = '<p>You shopping cart is empty.</p>'; } return join('',$output); } ?> Here's the cart code: $cart = $_SESSION['cart']; $action = $_GET['action']; $_SESSION['accessories']; switch ($action) { case 'add': if ($cart) { $cart .= ','.$_GET['id']; } else { $cart = $_GET['id']; } break; case 'delete': if ($cart) { $items = explode(',',$cart); $newcart = ''; foreach ($items as $item) { if ($_GET['id'] != $item) { if ($newcart != '') { $newcart .= ','.$item; } else { $newcart = $item; } } } $cart = $newcart; } break; case 'update': if ($cart) { $newcart = ''; foreach ($_POST as $key=>$value) { if (stristr($key,'qty')) { $id = str_replace('qty','',$key); $items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart); $newcart = ''; foreach ($items as $item) { if ($id != $item) { if ($newcart != '') { $newcart .= ','.$item; } else { $newcart = $item; } } } for ($i=1;$i<=$value;$i++) { if ($newcart != '') { $newcart .= ','.$id; } else { $newcart = $id; } } } } } $cart = $newcart; break; } $_SESSION['cart'] = $cart;
- 5 replies
-
- cart
- cart design
-
(and 2 more)
Tagged with: