Dalam aplikasi e-commerce tentunya terdapat shopping cart. Shopping cart digunakan untuk menampung sementara dari produk-produk yang akan dibeli oleh pengunjung situs e-commerce. Dalam tulisan ini akan menjelaskan secara singkat tentang shopping cart yaitu dengan menggunakan fasilitas session yang ada dalam PHP dan menggunakan MySQL untuk menyimpan data secara permanen.
1. Perancangan Database
Dalam tulisan ini menggunakan MySQL Workbench untuk merancang database MySQL. Atur rancangan database seperti gambar di bawah ini.
Relasi Antar Tabel
Source code di bawah ini merupakan hasil generated code dari rancangan database di atas.
file shoppingcart.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');Eksekusi file sql di atas
2. Buat file conn.php
File ini digunakan untuk koneksi ke database. Berikut ini merupakan source code conn.php
3. Buat file cart.php
File ini digunakan untuk menyimpan fungsi-fungsi yang berkaitan dengan cart yaitu untuk menambah, menghapus dan mengubah. Berikut ini merupakan source code file cart.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-barang yang ada dalam cart (yang telah dipilih untuk dibeli). Berikut ini merupakan source code cart_view.php