ok masih ditutorial Membuat Toko Online dengan Ajax Jquery kali ini dibagian 3 [Part 3], ini merupakan tutorial lanjutan dari [Part 2],
Selanjutnya kita buat file “mcart.php”
Berikut code “mcart.php”.
<?php session_start(); if(isset($_GET['pid']) && isset($_GET['act'])){ if(!empty($_GET['pid']) && !empty($_GET['act'])){ switch($_GET['act']){ case "adds": if(isset($_SESSION['cart'][$_GET['pid']])){ $_SESSION['cart'][$_GET['pid']]+=1; }else{ $_SESSION['cart'][$_GET['pid']]=1; } break; } } } ?>
Penjelasan “mcart.php”
Session_start()
Seperti biasa memulai session karna kita memanfaatkan session untuk membuat keranjang.
if(isset($_GET['pid']) && isset($_GET['act']))
apabila terdapat parameter pid dan adds.
dalam hal ini apabila tombol “Beli” yang akan menjalankan function “adds(id)” di klik.
if(!empty($_GET['pid']) && !empty($_GET['act']))
jika parameter pid dan act tidak kosong, artinya ada data yang dikirim
switch($_GET['act'])
kemudian kita disini memakai kondisi “switch case”
case "adds":
ketika tombol “beli” dilklik maka actionnya adalah “adds” ,dan akan mengirim parameter pid (id produk)
if(isset($_SESSION['cart'][$_GET['pid']]))
cek apakah sudah ada barang dengan id produk yang sama, apabila ada maka barangnya ditambah 1
$_SESSION['cart'][$_GET['pid']]+=1;
else{
$_SESSION['cart'][$_GET['pid']]=1;
}
break;
Apabila belum ada maka barangnya =1.
selanjutya kembali ke file “index.php”.
Lihat pada bagian.
<div id='tkrj'>
<!—disini tempat load keranjang -->
</div>
Hapus code .
<!—disini tempat load keranjang -->
Ganti dengan code javascript berikut.
<script> $('#tkrj').load('total.php'); </script>
Code diatas, adalah ajax jquery untuk mengambil file bernama “total.php”
Berikut code file “total.php”
<?php session_start(); include_once "kon.php"; if(isset($_SESSION['cart']) and count($_SESSION['cart']) != 0){ $total_harga=null; foreach($_SESSION['cart'] as $index => $value){ $query=$kon->prepare("select id_produk,nama_produk,harga_produk from produk where id_produk=:id"); $query->BindParam(":id",$index); $query->execute(); $tampil=$query->fetch(); $sub_total=$tampil['harga_produk'] * $value; $total_harga+=$sub_total; } echo "<h1>Rp. ".number_format($total_harga,0,",",".")."</h2>"; }else{ echo "<h2> Rp. 0 </h2>"; } ?>
Penjelasan. File “total.php”.
if(isset($_SESSION['cart']) and count($_SESSION['cart']) != 0)
jika terdapat session “cart” dan jumlah session “cart” tidak sama dengan 0.
Simpelnya adalah jika ada barang dikeranjang.
$total_harga=null;
$total_harga kosongi dulu.
foreach($_SESSION['cart'] as $index => $value)
Kemudian lakukan looping untuk menghitung jumlah barang yang ada dikeranjang.
$query=$kon->prepare("select id_produk,nama_produk,harga_produk from produk where id_produk=:id");
$query->BindParam(":id",$index);
$query->execute();
$tampil=$query->fetch();
$sub_total=$tampil['harga_produk'] * $value;
diatas adalah code untuk mengambil harga_produk dari barang2 yang ada dikeranjang
$sub_total menghitung jumlah suatu barang tertentu kemudian dikalikan harganya.
Contoh.
Pada Keranjang kita membeli “kocor” sebanyak 3 buah, harga Kocor=1.000/buahnya
Maka $sub_total=1.000 x 3 = 3.000
$total_harga+=$sub_total;
Kemudian $total_harga menghitung jumlah $sub_total secera keseluruhan
sederhananya begini.
Misal di keranjang ada 7 barang, diantaranya sebagai berikut.
“Kocor” sebanyak 3 buah
“Tapay” sebanyak 4 buah
$sub_total “kocor “= 3 x 1.000= 3.000
Dan $sub_total “Tapay” = 4 x 2.000= 8.000
maka $total_harga =3.000 + 8.000 = 11.000
//begitulah logika dari code diatas
echo "<h1>Rp. ".number_format($total_harga,0,",",".")."</h2>";
//kemudian menampilkannya dalam format rupiah.
else{echo "<h2> Rp. 0 </h2>";
}
jika tidak ada barang dikeranjang, maka cetak Rp.0;
Berikut hasilnya.
ok Part 3 sampai disini dulu.
kita akan lanjut ke part 4.
[Part 4] [UPDATED]