Membuat Shoping Cart dengan Drag & Drop mengunakan JqueryUI, PHP & Bootstrap





Hai All Ketemu lagi bersama Pria Tampan asli sunda, hehe, Tutorial kali ini seperti tutorial saya sebelumnya Membuat Shopping Cart Dengan PHP,Ajax,JQuery & Bootstrap , kali ini saya akan mencoba dengan Drag & Drop mengunakan JqueryUI,

Ok langsung saja kita buat database & tabelnya seperti tutorial saya sebelumnya

-- phpMyAdmin SQL Dump
-- version 4.3.11
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: 05 Sep 2015 pada 09.06
-- Versi Server: 5.6.24
-- PHP Version: 5.6.8
 
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
 
 
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
 
--
-- Database: `shoping`
--
 
-- --------------------------------------------------------
 
--
-- Struktur dari tabel `tbl_produk`
--
 
CREATE TABLE IF NOT EXISTS `tbl_produk` (
  `id` int(11) NOT NULL,
  `nama_produk` varchar(60) NOT NULL,
  `deskripsi_produk` text NOT NULL,
  `code_produk` varchar(60) NOT NULL,
  `image_produk` varchar(60) NOT NULL,
  `price_produk` decimal(10,0) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
 
--
-- Dumping data untuk tabel `tbl_produk`
--
 
INSERT INTO `tbl_produk` (`id`, `nama_produk`, `deskripsi_produk`, `code_produk`, `image_produk`, `price_produk`) VALUES
(1, 'Baju 1', '-------', 'B190', 'tshirt-1.jpg', '100000'),
(2, 'Baju 2', '-----', 'B191', 'tshirt-2.jpg', '200000'),
(3, 'Baju 3', '-----', 'B192', 'tshirt-3.jpg', '3000000'),
(4, 'Baju 4', '-----', 'B192', 'tshirt-4.jpg', '300000');
 
--
-- Indexes for dumped tables
--
 
--
-- Indexes for table `tbl_produk`
--
ALTER TABLE `tbl_produk`
  ADD PRIMARY KEY (`id`);
 
--
-- AUTO_INCREMENT for dumped tables
--
 
--
-- AUTO_INCREMENT for table `tbl_produk`
--
ALTER TABLE `tbl_produk`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=5;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;




Setelah buat database, maka kita masukan css di dalam head seperti ini

<link rel=stylesheettype=text/csshref=http://www.jeasyui.com/easyui/themes/default/easyui.css”>

Abis itu kita masukan css seperti dibawah ini

<style type="text/css">
		.products{
			list-style:none;
			margin-right:300px;
			padding:0px;
			height:100%;
		}
		.products li{
			display:inline;
			float:left;
			margin:10px;
		}
		.item{
			display:block;
			text-decoration:none;
		}
		.item img{
			border:1px solid #333;
		}
		.item p{
			margin:0;
			font-weight:bold;
			text-align:center;
			color:#c3c3c3;
		}
		.cart{
			position:fixed;
			right:0;
			top:0;
			width:300px;
			height:100%;
			background:#ccc;
			padding:0px 10px;
		}
		h1{
			text-align:center;
			color:#555;
		}
		h2{
			position:absolute;
			font-size:16px;
			left:10px;
			bottom:20px;
			color:#555;
		}
		.total{
			margin:0;
			text-align:right;
			padding-right:20px;
		}
	</style>





Untuk koneksi nya seperti tutorial sebelumnya seperti ini :

<?php
$db_username        = 'root'; //Mysql username anda
$db_password        = '12345'; //MySql database password anda
$db_name            = 'shoping'; //MySql nama database anda
$db_host            = 'localhost'; //MySql hostname atau IP anda
 
function convert_to_rupiah($angka)
	{return 'Rp. '.strrev(implode('.',str_split(strrev(strval($angka)),3)));}; // Setting Untuk Fungsi Rupiah 
 
$shipping_cost		= 9000; // Setting biaya pengiriman
$taxes				= array( //setting pajak pengiriman
							'Pajak :' => 2,
							);
 
$mysqli_conn = new mysqli($db_host, $db_username, $db_password,$db_name); //koneksi ke mysql
if ($mysqli_conn->connect_error) {//Output bila koneksi erorr
    die('Error : ('. $mysqli_conn->connect_errno .') '. $mysqli_conn->connect_error);
}

Sekarang kita buat shoping cart / keranjang belanja nya seperti ini :

<div class="list-group">
         <h4>Keranjang Belanja</h4>
        <div style="background:#fff">
        <table id="cartcontent">
            <thead>
                <tr>
                    <th field="name" width=140>Produk</th>
                    <th field="quantity" width=60 align="right">Qty</th>
                    <th field="price" width=60 align="right">Harga</th>
                </tr>
            </thead>
        </table>
        </div>
        <p class="total">Total: Rp 0</p>
        <h3>Drop Gambar Baju ke sini</h3>
</div>

Setelah shoping Cart / Keranjang Belanja sudah selesai maka kita buat untuk menampilkan datanya & mengambil dari database yang sebelumnya kita buat script nya seperti dibawah ini :

<?php
//List produk dari database
$results = $mysqli_conn->query("SELECT nama_produk, deskripsi_produk, code_produk, image_produk, price_produk FROM tbl_produk");
$products_list = '<div align="center">';
$fn = 'convert_to_rupiah'; // mengambil fungsi rupiah
 
while($row = $results->fetch_assoc()) {
$products_list .= <<<EOT
						<div class="col-sm-4 col-lg-4 col-md-4">
                        <div class="thumbnail">
                           <h4><a href="#" class="item"><p>{$row["nama_produk"]}</p><p>Harga Rp {$row["price_produk"]}</p>
								  <img src="images/{$row["image_produk"]}" alt="">
 
                                </h4>
                            <div class="caption">
 
                                <p>{$row["deskripsi_produk"]}</p>
								</a>
                            </div>
                            <div class="ratings">
                                <p class="pull-right">18 reviews</p>
                                <p>
                                    <span class="glyphicon glyphicon-star"></span>
                                    <span class="glyphicon glyphicon-star"></span>
                                    <span class="glyphicon glyphicon-star"></span>
                                    <span class="glyphicon glyphicon-star"></span>
                                    <span class="glyphicon glyphicon-star-empty"></span>
                                </p>
                            </div>
                        </div>
						</div>
 
 
EOT;
}
$products_list .= '</div>';
echo $products_list;
?>

Menampilkan produk udah, shoping cart / keranjang belanja nya sudah, sekarang kita buat jquery nya untuk melakakukan drag & drop, add produk & menghitung jumlah produk yang kita pilih seperti dibawah ini,

<script type="text/javascript" src="js/jquery-1.11.2.min.js"></script>
 
    <!-- Bootstrap Core JavaScript -->
    <script src="js/bootstrap.min.js"></script>
	<script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
	<script>
		var data = {"total":0,"rows":[]}; //variable data
		var totalCost = 0;  //variable untuk total
 
		$(function(){
			$('#cartcontent').datagrid({    
				singleSelect:true
			});
			$('.item').draggable({   // untuk drag
				revert:true,
				proxy:'clone',  
				onStartDrag:function(){
					$(this).draggable('options').cursor = 'not-allowed';
					$(this).draggable('proxy').css('z-index',10);
				},
				onStopDrag:function(){
					$(this).draggable('options').cursor='move'; 
				}
			});
			$('.list-group').droppable({   //untuk drop
				onDragEnter:function(e,source){
					$(source).draggable('options').cursor='auto';
				},
				onDragLeave:function(e,source){
					$(source).draggable('options').cursor='not-allowed';
				},
				onDrop:function(e,source){
					var name = $(source).find('p:eq(0)').html();
					var price = $(source).find('p:eq(1)').html();
					addProduct(name, parseFloat(price.split('Rp')[1]));
				}
			});
		});
 
		function addProduct(name,price){  // untuk add produk
			function add(){
				for(var i=0; i<data.total; i++){
					var row = data.rows[i];
					if (row.name == name){
						row.quantity += 1;
						return;
					}
				}
				data.total += 1;
				data.rows.push({
					name:name,
					quantity:1,
					price:price
				});
			}
			add();
			totalCost += price; 
			$('#cartcontent').datagrid('loadData', data);
			$('div.list-group .total').html('Total: Rp'+totalCost); //menghitung total
		}
	</script>

Nah selesai deh, jalankan di localhost coba tarik gambar gambar dan masukan ke dalam kotak kantong belanja jika sudah selesai maka harga produk, jumlah & total nya ada di kotak kantong belanja. seperti dibawah ini

Membuat Shopping Cart Drag n Drop




DEMO DOWNLOAD

Nah mudah bukan ??? Sekian tutorial dari saya moga bermanfaat, Selalu terngiang di dalam telinga saya apa yang di ucapkan Ustad Tatang SutarmaSampaikanlah walau hanya sebaris code <?php echoHello Word”?>

 

 

 

 

You may also like...

2 reacties

  1. guest says:

    hye, macam mana mahu mendapatkan total price dimasukkan didalam database ya?

Leave a Reply

Your email address will not be published. Required fields are marked *