Hallo sahabat Dumenity berjumpa lagi dalam tutorial kursuswebprogramming, pada tutorial kali ini kita akan belajar tentang Cara Membikin Shopping Cart Sederhana. Dalam tutorial ini saya tidak membuat secara komplek dalam bentuk project tapi hanya sebuah bentuk galeri shopping cart sederhana. Namun sangat bermanfaat bagi teman yang belum tau tentang cara membuat shopping cart sederhana. Shopping cart ini sangat berguna sekali ketika kita membuat sebuah website ecommerce.
Oke pertama kita akan buat sebuah koneksi ke database dan pemanggilan data table yang ada dalam database kita. caranya seperti di bawah ini, namaun cara di bawah ini tidak baku masih banyak cara lain yang mungkin bisa teman – teman kembangkan sendiri.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<?php class DBController { private $host = "localhost"; private $user = "dumet"; private $password = "school"; private $database = "mp_"; private $conn; function __construct() { $this->conn = $this->connectDB(); } function connectDB() { $conn = mysqli_connect($this->host,$this->user,$this->password,$this->database); return $conn; } function runQuery($query) { $result = mysqli_query($this->conn,$query); while($row=mysqli_fetch_assoc($result)) { $resultset[] = $row; } if(!empty($resultset)) return $resultset; } function numRows($query) { $result = mysqli_query($this->conn,$query); $rowcount = mysqli_num_rows($result); return $rowcount; } } ?> |
Setelah kita membuat fungsi koneksi database kita akan membuat sebuah halaman galery keranjang belanja sederhana. silahkan teman – teman buat halaman keranjang belanjang berikut ini.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
<HTML> <HEAD> <TITLE>Simple PHP Shopping Cart</TITLE> <link href="style.css" type="text/css" rel="stylesheet" /> </HEAD> <BODY> <div id="shopping-cart"> <div class="txt-heading">Shopping Cart <a id="btnEmpty" href="index.php?action=empty">Empty Cart</a></div> <?php if(isset($_SESSION["cart_item"])){ $item_total = 0; ?> <table cellpadding="10" cellspacing="1"> <tbody> <tr> <th style="text-align:left;"><strong>Name</strong></th> <th style="text-align:left;"><strong>Code</strong></th> <th style="text-align:right;"><strong>Quantity</strong></th> <th style="text-align:right;"><strong>Price</strong></th> <th style="text-align:center;"><strong>Action</strong></th> </tr> <?php foreach ($_SESSION["cart_item"] as $item){ ?> <tr> <td style="text-align:left;border-bottom:#F0F0F0 1px solid;"><strong><?php echo $item["name"]; ?></strong></td> <td style="text-align:left;border-bottom:#F0F0F0 1px solid;"><?php echo $item["code"]; ?></td> <td style="text-align:right;border-bottom:#F0F0F0 1px solid;"><?php echo $item["quantity"]; ?></td> <td style="text-align:right;border-bottom:#F0F0F0 1px solid;"><?php echo "$".$item["price"]; ?></td> <td style="text-align:center;border-bottom:#F0F0F0 1px solid;"><a href="index.php?action=remove&code=<?php echo $item["code"]; ?>" class="btnRemoveAction">Remove Item</a></td> </tr> <?php $item_total += ($item["price"]*$item["quantity"]); } ?> <tr> <td colspan="5" align=right><strong>Total:</strong> <?php echo "$".$item_total; ?></td> </tr> </tbody> </table> <?php } ?> </div> <div id="product-grid"> <div class="txt-heading">Products</div> <?php $product_array = $db_handle->runQuery("SELECT * FROM tblproduct ORDER BY id ASC"); if (!empty($product_array)) { foreach($product_array as $key=>$value){ ?> <div class="product-item"> <form method="post" action="index.php?action=add&code=<?php echo $product_array[$key]["code"]; ?>"> <div class="product-image"><img src="<?php echo $product_array[$key]["image"]; ?>"></div> <div><strong><?php echo $product_array[$key]["name"]; ?></strong></div> <div class="product-price"><?php echo "$".$product_array[$key]["price"]; ?></div> <div><input type="text" name="quantity" value="1" size="2" /><input type="submit" value="Add to cart" class="btnAddAction" /></div> </form> </div> <?php } } ?> </div> </BODY> </HTML> |
Oke kalau sudah kita akan membuat lagi fungsi dari shopping cart add, fungsi ini digunakan untuk menambahkan sebuah item ke keranjang belanja. Fungsi ini berjalan jika ada aksi dari user yang mengklik tombil add to cart yang ada pada item. Ketika user mengklik tombol add to cart atau submit maka item akan otomatis masuk ke dalam keranjang belanja.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
session_start(); require_once("dbcontroller.php"); $db_handle = new DBController(); if(!empty($_GET["action"])) { switch($_GET["action"]) { case "add": if(!empty($_POST["quantity"])) { $productByCode = $db_handle->runQuery("SELECT * FROM tblproduct WHERE code='" . $_GET["code"] . "'"); $itemArray = array($productByCode[0]["code"]=>array('name'=>$productByCode[0]["name"], 'code'=>$productByCode[0]["code"], 'quantity'=>$_POST["quantity"], 'price'=>$productByCode[0]["price"])); if(!empty($_SESSION["cart_item"])) { 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 { $_SESSION["cart_item"] = array_merge($_SESSION["cart_item"],$itemArray); } } else { $_SESSION["cart_item"] = $itemArray; } } break; |
Setelah kita berhasil membuat fungsi dari add to cart maka kita akan membuat sebuah fungsi remove di dalam keranjang belanja kita, fungsi ini bertujuan untuk menghapus item yang tidak jadi kita beli.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
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; case "empty": unset($_SESSION["cart_item"]); break; } } ?> |
Oke itulah tadi contoh pembuatan shopping cart sederhana saya bagi teman – teman yang ingin tahu hasilnya silahkan teman – teman praktikkan sendiri. semoga bermanfaat.