Dalam aplikasi e-commerce tentunya terdapat shopping cart. Keranjang belanja digunakan untuk menyimpan sementara produk yang akan dibeli oleh pengunjung situs e-commerce. Pada artikel kali ini saya akan menjelaskan secara singkat tentang shopping cart yaitu dengan menggunakan fasilitas session di PHP dan menggunakan MySQL untuk menyimpan data secara permanen
1. Perencanaan Basis Data
Pada artikel ini, MySQL Workbench digunakan untuk mendesain database MySQL. Susunlah denah database seperti pada gambar di bawah ini
Hubungan Antar Tabel
Kode sumber di bawah ini adalah kode yang dihasilkan dari rencana basis data di atas
mengajukan keranjang belanja. sql
file barang_data. sql
INSERT INTO `barang` (`id`, `nama`, `deskripsi`, `gambar`, `hpp`, `harga`, `waktu_masuk`) VALUES (1, 'Djarum 76', 'Djarum 76 adalah hasil dari ramuan rahasia kretek kudus yang melegenda lebih dari dari 120 tahun dipadu dengan Tembakau matang, tembakau Srintil, cengkeh matang pohon dan rempah-rempah tradisional khas Indonesia, membuat Djarum 76 selalu nikmat.', 'djarum76.jpg', 6000.00, 7000.00, '2012-11-21 22:15:54'), (2, 'Surya 12', 'Duis placerat iaculis nisi, et pulvinar nisi bibendum ac. Morbi massa justo, pharetra at eleifend eu, facilisis quis diam. Integer eget mi purus, et feugiat elit. ', 'surya12.jpg', 9000.00, 10000.00, '2012-11-21 22:21:44'), (3, 'Djarum Super', 'Ut in augue at risus posuere molestie ut at velit. Aenean tincidunt euismod ultricies. Curabitur ut nisl justo. Aenean viverra auctor urna, ac tincidunt mi euismod ut.', 'jdarumsuper.jpg', 10000.00, 11000.00, '2012-11-21 22:34:47'), (4, 'Marlboro', 'Integer vel convallis urna. Etiam quis urna ac risus mollis blandit. Mauris bibendum interdum rhoncus. Suspendisse urna sapien, tincidunt in fermentum at, tempus sit amet ipsum. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.', 'marlboro.jpg', 13000.00, 14000.00, '2012-11-21 22:21:12'), (5, 'Dji Sam Soe', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam porta, ipsum in faucibus lacinia, libero mauris tempor ipsum, eget pharetra mi augue ut diam. In dignissim commodo ligula vitae tempus. In hac habitasse platea dictumst. Morbi aliquam augue sit amet sem dignissim consectetur. ', '234.jpg', 10000.00, 11000.00, '2012-11-21 22:21:00'); _Jalankan file sql di atas
2. Buat file koneksi. php
File ini digunakan untuk koneksi ke database. Berikut ini adalah kode sumber koneksi. php
3. Buat file keranjang. php
File ini digunakan untuk menyimpan fungsi-fungsi yang berhubungan dengan keranjang yaitu untuk menambah, menghapus dan mengubah. Berikut ini adalah kode sumber file keranjang. php
<?php require_once("conn.php"); if (!isset($_SESSION)) { session_start(); } if (isset($_GET['act']) && isset($_GET['ref'])) { $act = $_GET['act']; $ref = $_GET['ref']; if ($act == "add") { if (isset($_GET['barang_id'])) { $barang_id = $_GET['barang_id']; 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']; if (isset($_SESSION['items'][$barang_id])) { $_SESSION['items'][$barang_id] += 1; } } } elseif ($act == "min") { if (isset($_GET['barang_id'])) { $barang_id = $_GET['barang_id']; if (isset($_SESSION['items'][$barang_id])) { $_SESSION['items'][$barang_id] -= 1; } } } elseif ($act == "del") { if (isset($_GET['barang_id'])) { $barang_id = $_GET['barang_id']; 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); } ?>4. Buat file cart_view. php
File ini digunakan untuk menampilkan daftar barang di keranjang (yang telah dipilih untuk dibeli). Berikut ini adalah kode sumber cart_view. php