Menanggapi Sebuah Pertanyaan Tentang Shopping Cart


Tulisan ini merupakan jawaban dari sebuah pertanyaan untuk tulisan sebelumnya PHP MySQL; Membuat Shopping Cart (Keranjang Belanja) dengan Menggunakan Session. Pertanyaannya adalah bagaimana jika menggunakan checkbox? Untuk mengubahnya dengan menggunakan checkbox, seperti gambar di bawah ini misalnya,

Contoh Aplikasi Shopping Cart

caranya sama dengan tulisan sebelumnya cuman tinggal rubah file index.php dan file cart.php seperti di bawah ini

File index.php

<?php
	require_once("conn.php");
	if (!isset($_SESSION)) {
		session_start();
	}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Contoh Aplikasi Shopping Cart</title>
<style>
	h1, h2, h3, p {
		margin-top:0px;
		margin-bottom:10px;
	}
</style>
</head>

<body>

<h1>Contoh Aplikasi Shopping Cart</h1>
<h2>List Produk</h2>
<hr />
<form action="cart.php" method="get">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr valign="top">
    <td width="55%"><table width="100%" border="0" cellspacing="0" cellpadding="0">
      <?php
		mysql_select_db($database_conn, $conn);
		$query = mysql_query ("select * from barang");
		while ($rs = mysql_fetch_array ($query)) {

	  ?>
      <tr>
        <td width="160" valign="top">
        	<img src="<?php echo $rs['gambar']; ?>" alt="" style="width:140px; margin-right:20px; margin-bottom:20px;" />
        </td>
        <td valign="top">
            <h3>
              <input type="checkbox" name="barang_id[]" value="<?php echo $rs['id']; ?>" />
              <?php echo $rs['nama']; ?>
            </h3>
            <p><?php echo $rs['deskripsi']; ?></p>
            <p>Harga : <?php echo number_format($rs['harga']); ?>
        </td>
      </tr>
      <?php
	   }
	  ?>
    </table></td>
    <td>&nbsp;</td>
    <td width="40%"><p>Keranjang Anda</p>
      <hr />
      <?php require("cart_view.php"); ?></td>
  </tr>
</table>
<input name="act" type="hidden" value="add" />
<input name="ref" type="hidden" id="ref" value="index.php" />
<input type="submit" name="button" id="button" value="Masukkan Keranjang Belanja" />
</form>
<p>&nbsp;</p>
</body>
</html>

Kemudian ubah juga file cart.php menjadi seperti di bawah ini

File cart.php

<?php
	require_once("conn.php");
	if (!isset($_SESSION)) {
		session_start();
	}

	if (isset($_GET['act']) && isset($_GET['ref'])) {
		for ($i = 0; $i < count($_GET['barang_id']); $i++) {
			$act = $_GET['act'];
			$ref = $_GET['ref'];

			if ($act == "add") {
				if (isset($_GET['barang_id'][$i])) {
					$barang_id = $_GET['barang_id'][$i];
					if (isset($_SESSION['items'][$barang_id])) {
						$_SESSION['items'][$barang_id] += 1;
					} else {
						$_SESSION['items'][$barang_id] = 1;
					}
				}
			} elseif ($act == "plus") {
				if (isset($_GET['barang_id'])) {
					$barang_id = $_GET['barang_id'][$i];
					if (isset($_SESSION['items'][$barang_id])) {
						$_SESSION['items'][$barang_id] += 1;
					}
				}
			} elseif ($act == "min") {
				if (isset($_GET['barang_id'])) {
					$barang_id = $_GET['barang_id'][$i];
					if (isset($_SESSION['items'][$barang_id])) {
						$_SESSION['items'][$barang_id] -= 1;
					}
				}
			} elseif ($act == "del") {
				if (isset($_GET['barang_id'])) {
					$barang_id = $_GET['barang_id'][$i];
					if (isset($_SESSION['items'][$barang_id])) {
						unset($_SESSION['items'][$barang_id]);
					}
				}
			} elseif ($act == "clear") {
				if (isset($_SESSION['items'])) {
					foreach ($_SESSION['items'] as $key => $val) {
						unset($_SESSION['items'][$key]);
					}
					unset($_SESSION['items']);
				}
			}
		}
		header ("location:" . $ref);
	}

?>

Silakan dikembangkan sesuai dengan kebutuhan.

Semoga bermanfaat… :)

About these ads

5 thoughts on “Menanggapi Sebuah Pertanyaan Tentang Shopping Cart

  1. Yono

    Terima kasih atas artikelnya. yang kebetulan saya sedang ada tugas untuk membuat wev dengan menggunakan keranjang belanja. Saya sudah coba pakai xampp 1,7,7 tapi saat diklik Beli tidak masuk ke Keranjang Anda, Ada masalah dimana ya? Begitu juga yang menggunakan check box.

    Balas

Berikan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Logout / Ubah )

Twitter picture

You are commenting using your Twitter account. Logout / Ubah )

Facebook photo

You are commenting using your Facebook account. Logout / Ubah )

Google+ photo

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s