Membuat Shopping Cart PHP Sederhana

20 593

Dalam tutorial ini, kita akan melihat contoh PHP sederhana untuk membuat aplikasi keranjang belanja. Aplikasi shopping cart ini sengaja dijaga tetap sederhana dan seminimal mungkin. Anda dapat mendownload ini dan dengan cepat menyesuaikannya sesuai kebutuhan Anda. Dalam contoh ini, kami menampilkan daftar produk dari database. Untuk setiap produk, kita bisa memilih jumlah produk dan menambah gerobak. Item keranjang disimpan dalam sesi. Keranjang dapat dikosongkan dengan menghapus item dari sesi.

Menambahkan Produk ke Keranjang Belanja

Pertama, kita perlu membuat halaman katalog produk kita dengan mencantumkan produk dari database. Kode berikut mengambil daftar produk dari database dan menampilkannya dalam tampilan grid. Setiap produk memiliki opsi ‘Tambahkan ke keranjang’ untuk memasukkannya ke keranjang.

<?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 }} ?>

Saat mengklik tombol ‘Tambahkan ke keranjang’, kami menambahkan id produk yang dipilih dan jumlahnya ke dalam keranjang belanja. Kami menggunakan PHP SESSION untuk menyimpan item keranjang. Kode berikut menunjukkan kotak saklar yang digunakan untuk menambahkan produk ke keranjang. Jika kita menambahkan produk yang sama beberapa kali ke dalam gerobak maka jumlah barang keranjang akan bertambah.

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;

Melepaskan atau Menghapus Item Keranjang

Dalam contoh ini, kami mengizinkan pengguna untuk menghapus setiap item dari keranjang dengan menggunakan tautan ‘Hapus Item’ di setiap baris. Selain itu, kami membiarkan pengguna membersihkan keseluruhan keranjang dengan menggunakan opsi ‘Empty Cart’. Saat mengklik ‘Remove Item’, kami memanggil untuk menghapus tindakan dengan referensi kode item untuk menghapus item tertentu dari sesi keranjang. Kami menggunakan PHP unset () untuk menghapus sesi keranjang. Kode berikut menunjukkan kasus saklar yang digunakan untuk melakukan tindakan ‘Hapus Item’ dan ‘Empty 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;
case "empty":
	unset($_SESSION["cart_item"]);
break;

Impor skrip SQL berikut untuk membuat tabel produk dan memuat data Anda sendiri untuk ditampilkan di halaman katalog Anda.

CREATE TABLE IF NOT EXISTS `tblproduct` (
  `id` int(8) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `code` varchar(255) NOT NULL,
  `image` text NOT NULL,
  `price` double(10,2) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `product_code` (`code`)
)
Demo

Get real time updates directly on you device, subscribe now.

20 Comments
  1. demg says

    Plugin download locknya error ga bisa download meskipun sudah like.

    1. Infokoding says

      coba di refresh trus di download kembali

  2. syafiq says

    tetap tidak bisa download.. sudah like dan refresh berkali kali

    1. Infokoding says

      Silahkan dicoba kembali

  3. Nana says

    di coba beberapa kali tetap tidak bisa didownload min.

    1. Infokoding says

      mohon maaf sebelumnya dikarenakan ada bugs menjadi tidak bisa download. Permasalahan sudah diatasi silahkan dicoba kembali.

      terima kasih sudah berkunjung.

      1. rheina says

        tidak bisa di download

  4. e says

    Kalau shoping cart nya di simpan ke database gimana ya?. Itu kan hanya ada table produk saja jadi

    1. Infokoding says

      untuk simpan ke database, bisa memasukkan script php ke database.

    2. ryan says

      bro sudah di download? kalo sudah saya minta dong.

  5. Alex says

    Gak bisa ke buka link downloadnya min

    1. Infokoding says

      Silahkan klik like us facebook infokoding terlebih dahulu, terima kasih sudah berkunjung.

      1. Alex says

        Udah di like tapi gak muncul-muncul juga link downloadnya

  6. dian says

    min gmana caranya agar produk yang dipilih masuk ke database??

    1. Infokoding says

      dari script html itu dimasukkan script php untuk memanggil databasenya

  7. d says

    min script/cara agar produk yang dipilih masuk database ada gak ya / gmna caranya mohon bantuannya

    1. Infokoding says

      dari script html itu dimasukkan script php untuk memanggil databasenya

  8. Source Code Aplikasi says

    wah,,, ada tambahan referensi coding nih dalam membuat fitur shopping cart, thanks gan.
    silahkan kunjungi juga blog sederhana kami untuk tambahan referensi source code aplikasi

  9. Kaldius says

    gak bisa download, sudah berkali2 lahh

  10. Versys says

    Download Sorce Code Justuplaod.io Error 522

Leave A Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.