Follow step 1 to 6 in this file to create a simple shopping cart
//STEP 1 //Create a database then create a table inside that database tblproducts and insert some data into this table. -- phpMyAdmin SQL Dump -- version 4.8.5 -- https://www.phpmyadmin.net/ -- -- Host: localhost:3306 -- Generation Time: Nov 06, 2019 at 09:39 AM -- Server version: 10.2.27-MariaDB -- PHP Version: 7.2.7 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET AUTOCOMMIT = 0; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `cloudreb_demoshoppingcart` -- -- -------------------------------------------------------- -- -- Table structure for table `tblproduct` -- CREATE TABLE IF NOT EXISTS `tblproduct` ( `id` int(8) NOT NULL, `name` varchar(255) NOT NULL, `code` varchar(255) NOT NULL, `image` text NOT NULL, `price` double(10,2) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `tblproduct` -- INSERT INTO `tblproduct` (`id`, `name`, `code`, `image`, `price`) VALUES (1, 'MSI GF63 Thin Core i7 9th Gen', 'MSI4353', 'product-images/msi-laptop.jpeg', 1500.00), (2, 'WD 1.5 TB Wired External Hard Disk Drive (Black)', 'WD091', 'product-images/external-hardidisk.jpeg', 50.00), (3, 'VERTIGO Running Shoes For Men (Black)', 'LOTTO215', 'product-images/lotto-shoes.jpeg', 10.00); -- -- Indexes for dumped tables -- -- -- Indexes for table `tblproduct` -- ALTER TABLE `tblproduct` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `product_code` (`code`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `tblproduct` -- ALTER TABLE `tblproduct` MODIFY `id` int(8) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; //Stepr 2 : //Fetch the inserted products <div id="product-grid"> <div class="txt-heading">Products</div> <?php $product= mysqli_query($con,"SELECT * FROM tblproduct ORDER BY id ASC"); if (!empty($product)) { while ($row=mysqli_fetch_array($product)) { ?> <div class="product-item"> <form method="post" action="index.php?action=add&pid=<?php echo $row["id"]; ?>"> <div class="product-image"><img src="<?php echo $row["image"]; ?>"></div> <div class="product-tile-footer"> <div class="product-title"><?php echo $row["name"]; ?></div> <div class="product-price"><?php echo "$".$row["price"]; ?></div> <div class="cart-action"><input type="text" class="product-quantity" name="quantity" value="1" size="2" /><input type="submit" value="Add to Cart" class="btnAddAction" /></div> </div> </form> </div> <?php } } else { echo "No Records."; } ?> </div> //Step 3 : //Adding products into the shooping cart. //code for adding product in cart case "add": if(!empty($_POST["quantity"])) { $pid=$_GET["pid"]; $result=mysqli_query($con,"SELECT * FROM tblproduct WHERE id='$pid'"); while($productByCode=mysqli_fetch_array($result)){ $itemArray = array($productByCode["code"]=>array('name'=>$productByCode["name"], 'code'=>$productByCode["code"], 'quantity'=>$_POST["quantity"], 'price'=>$productByCode["price"], 'image'=>$productByCode["image"])); if(!empty($_SESSION["cart_item"])) { // searches for specific value code if(in_array($productByCode[0]["code"],array_keys($_SESSION["cart_item"]))) { foreach($_SESSION["cart_item"] as $k => $v) { if($productByCode[0]["code"] == $k) { if(empty($_SESSION["cart_item"][$k]["quantity"])) { $_SESSION["cart_item"][$k]["quantity"] = 0; } $_SESSION["cart_item"][$k]["quantity"] += $_POST["quantity"]; } } } else { //The array_merge() function merges one or more arrays into one array. $_SESSION["cart_item"] = array_merge($_SESSION["cart_item"],$itemArray); } } else { $_SESSION["cart_item"] = $itemArray; } } } break; //The above code used for adding prodcuts in to cart. In this case “add” hanlde the add cart action. All cart values will be store in cart session. //Step 4 : //Retrive cart products from cart session <!-- Cart ----> <div id="shopping-cart"> <div class="txt-heading">Shopping Cart</div> <a id="btnEmpty" href="index.php?action=empty">Empty Cart</a> <?php if(isset($_SESSION["cart_item"])){ $total_quantity = 0; $total_price = 0; ?> <table class="tbl-cart" cellpadding="10" cellspacing="1"> <tbody> <tr> <th style="text-align:left;">Name</th> <th style="text-align:left;">Code</th> <th style="text-align:right;" width="5%">Quantity</th> <th style="text-align:right;" width="10%">Unit Price</th> <th style="text-align:right;" width="10%">Price</th> <th style="text-align:center;" width="5%">Remove</th> </tr> <?php foreach ($_SESSION["cart_item"] as $item){ $item_price = $item["quantity"]*$item["price"]; ?> <tr> <td><img src="<?php echo $item["image"]; ?>" class="cart-item-image" /><?php echo $item["name"]; ?></td> <td><?php echo $item["code"]; ?></td> <td style="text-align:right;"><?php echo $item["quantity"]; ?></td> <td style="text-align:right;"><?php echo "$ ".$item["price"]; ?></td> <td style="text-align:right;"><?php echo "$ ". number_format($item_price,2); ?></td> <td style="text-align:center;"><a href="index.php?action=remove&code=<?php echo $item["code"]; ?>" class="btnRemoveAction"><img src="icon-delete.png" alt="Remove Item" /></a></td> </tr> <?php $total_quantity += $item["quantity"]; $total_price += ($item["price"]*$item["quantity"]); } ?> <tr> <td colspan="2" align="right">Total:</td> <td align="right"><?php echo $total_quantity; ?></td> <td align="right" colspan="2"><strong><?php echo "$ ".number_format($total_price, 2); ?></strong></td> <td></td> </tr> </tbody> </table> <?php } else { ?> <div class="no-records">Your Cart is Empty</div> <?php } ?> </div> //Step 5 : //Removing the products from cart // code for removing product from cart case "remove": if(!empty($_SESSION["cart_item"])) { foreach($_SESSION["cart_item"] as $k => $v) { if($_GET["code"] == $k) unset($_SESSION["cart_item"][$k]); if(empty($_SESSION["cart_item"])) unset($_SESSION["cart_item"]); } } break; //We use unset() to deleteing product from cart. //Step 6 : //In this step empty the cart in one click. // code for if cart is empty case "empty": unset($_SESSION["cart_item"]); break;