Rabu, 18 Juni 2014

cart

tb_product.sql


-- phpMyAdmin SQL Dump
-- version 4.1.12
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: Jun 08, 2014 at 06:04 AM
-- Server version: 5.5.36
-- PHP Version: 5.4.27

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: `misi`
--

-- --------------------------------------------------------

--
-- Table structure for table `tb_produk`
--

CREATE TABLE IF NOT EXISTS `tb_produk` (
  `id` int(1) NOT NULL,
  `merk` varchar(12) NOT NULL,
  `harga` int(12) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `tb_produk`
--

INSERT INTO `tb_produk` (`id`, `merk`, `harga`) VALUES
(1, 'samsung', 1000),
(2, 'Nokia', 2000),
(3, 'Ericson', 1500),
(4, 'Bayon', 3000);

/*!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 */;








cart.php


<?php
// Tambahkan konfigurasi Database dan definisi Fungsi-fungsi 3.  File cart.php
require_once('inc-db.php');
require_once('fungsi.php');

// Aktifkan Session
session_start();

// Process actions
if (isset($_SESSION['shoppingcart'])) {
  $cart = $_SESSION['shoppingcart'];
  if (isset($_GET['action'])) {
    $action = $_GET['action'];
    switch ($action) {
     case 'add':
      if ($cart) {
       $cart .= ','.$_GET['id'];
      } else {
       $cart = $_GET['id'];
      }
      break;

     case 'delete':
      if ($cart) {
       $items = explode(',',$cart);
       $newcart = '';
       foreach ($items as $item) {
        if ($_GET['id'] != $item) {
         if ($newcart != '') {
          $newcart .= ','.$item;
         } else {
          $newcart = $item;
         }
        }
       }       $cart = $newcart;
      }
      break;

     case 'update':
      if ($cart) {
       $newcart = '';

       foreach ($_POST as $key=>$value) {
        if (stristr($key,'qty')) {
         $id = str_replace('qty','',$key);
  $items = ($newcart != '') ? explode(',',$newcart)
: explode(',',$cart);
         $newcart = '';
         foreach ($items as $item) {
          if ($id != $item) {
           if ($newcart != '') {
            $newcart .= ','.$item;
           } else {
            $newcart = $item;
           }
          }
         }
         for ($i=1;$i<=$value;$i++) {
          if ($newcart != '') {
           $newcart .= ','.$id;
          } else {
           $newcart = $id;
          }
         }
        }
       }
      $cart = $newcart;
      }
      break;
     
    }
  }
$_SESSION['shoppingcart'] = $cart;
}
else {
  $_SESSION['shoppingcart'] = '';
}
 ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
  <title>Keranjang Belanja</title>
  <link rel="stylesheet" href="styles.css" />
</head>
<body>

<div id="shoppingcart">
  <h1>Keranjang Belanja Anda</h1>
  <?php
   // echo panggil fungsi yang menghitung total isi cart();
  ?>
</div>

<div id="daftarproduk">
  <h1>Pastikan quantity yang dipesan sudah sesuai...</h1>
  <?php
   // echo panggil fungsi yang menampilkan daftar produk dalam cart();
  // TampilkanCart();
  /*  if (!isset($_SESSION['shoppingcart'])) {
    return '<p>Anda belum memilih produk</p>';
    $_SESSION['shoppingcart'] = '';
  }
  else {
    $cart = $_SESSION['shoppingcart'];
    // Explode isi Session "shoppingcart", dihitung totalnya
   // $items = pecah isi $cart menggunakan pemisah tanda koma;
    $items = explode(',',$cart);
    if (strlen($cart) == 0) {
     return '<p>Anda belum memilih produk</p>';
    }
    else {
return '<p>Anda memiliki <a href="cart.php">'.count($items).' item produk di
Keranjang Belanja</a></p>';
    }
  }
} */
//fungsi untuk menampilkan isi cart

echo TampilkanIsiCart();
echo TampilkanCart()
//function TampilkanCart() {
 /* if (isset($_SESSION['shoppingcart'])) {
    $cart = $_SESSION['shoppingcart'];
   // $items = pecah isi $cart menggunakan pemisah tanda koma;
    $items = explode(',',$cart);
    $total = 0;
    $isikeranjang = array();
  // Karena isi Session "shoppingcart" hanya list id produk, perlu dicek jika ada lebih dari satu id produk yang sama
    foreach ($items as $item) {
     if (isset($isikeranjang[$item])) {       // Jika id produk yg sama sudah ada maka quantity ditambah
      $isikeranjang[$item] = $isikeranjang[$item] + 1;
     }
     else {
      $isikeranjang[$item] = 1;
     }
    }
    echo '<form action="cart.php?action=update" method="post" id="isicart">';
    echo '<table border="1" width="500"><tr><td>No</td><td>Merk</td><td>Harga</td><td>Jumlah</td><td>Subtotal</td><td>Delete</td></tr>';
    if (!strlen($cart)==0) {
    $no=0;
     foreach ($isikeranjang as $id=>$qty) {
      $sqlShow = 'SELECT * FROM tb_produk WHERE id = '.$id;
      $result = mysql_query($sqlShow);
      while ($data = mysql_fetch_assoc($result)) {
      $no++;
       echo '<tr>';
       echo '<td>'.$no.'</td>';     //no
       echo '<td>' . $data['merk'] . '</td>'; //merk
       echo '<td>Rp. ' .$data['harga']. ',-</td>';  //harga
       echo '<td><input type="text" name="qty'.$id.'"value="'.$qty.'" size="3" maxlength="3" /></td>'; //jumlah
       echo '<td>Rp. ' . $data['harga'] * $qty . ',-</td>';  //subtotal
       echo '<td><a href="cart.php?action=delete&id='.$id.'"class="r">Hapus</a></td>';//hapus
       echo '</td></tr>';
       $total += $data['harga'] * $qty;
      }
     }
    }
    echo '</table>';
   // echo '<p>Total Harga Semua: <strong>Rp. '. variabel yang menyimpan total .',-</strong></p>';
   echo '<p>Total Harga Semua: <strong>Rp. '.$total.',-</strong></p>';
    echo '<p><button type="submit">Update Keranjang Belanja</button></p>';
    echo '</form>';
  } else {
    echo '<p>Keranjang Belanja anda masih kosong, silahkan pilih produk.</p>';
  } */
  ?>
  <p><a href="index.php">Kembali ke toko...</a></p>
</div>
</body>
</html>


fungsi.php


<?php
error_reporting(0);
//2.  File fungsi.php
// Definisikan Fungsi-fungsi

// Fungsi untuk menghitung jumlah isi cart
/*
function writeShoppingCart() {
$cart = $_SESSION['cart'];
if (!$cart) {
return '<p>You have no items in your shopping cart</p>';
} else {
// Parse the cart session variable
$items = explode(',',$cart);
$s = (count($items) > 1) ? 's':'';
return '<p>You have <a href="cart.php">'.count($items).' item'.$s.' in your shopping cart</a></p>';
}
}
*/
//exit;
function TampilkanIsiCart() {
  if (!isset($_SESSION['shoppingcart'])) {
    return '<p>Anda belum memilih produk</p>';
    $_SESSION['shoppingcart'] = '';
  }
  else {
    $cart = $_SESSION['shoppingcart'];
    // Explode isi Session "shoppingcart", dihitung totalnya
   // $items = pecah isi $cart menggunakan pemisah tanda koma;
    $items = explode(',',$cart);
    if (strlen($cart) == 0) {
     return '<p>Anda belum memilih produk</p>';
    }
    else {
return '<p>Anda memiliki <a href="cart.php">'.count($items).' item produk di
Keranjang Belanja</a></p>';
    }
  }
}
//fungsi untuk menampilkan isi cart


function TampilkanCart() {
  if (isset($_SESSION['shoppingcart'])) {
    $cart = $_SESSION['shoppingcart'];
   // $items = pecah isi $cart menggunakan pemisah tanda koma;
    $items = explode(',',$cart);
    $total = 0;
    $isikeranjang = array();
  // Karena isi Session "shoppingcart" hanya list id produk, perlu dicek jika ada lebih dari satu id produk yang sama
    foreach ($items as $item) {
     if (isset($isikeranjang[$item])) {       // Jika id produk yg sama sudah ada maka quantity ditambah
      $isikeranjang[$item] = $isikeranjang[$item] + 1;
     }
     else {
      $isikeranjang[$item] = 1;
     }
    }
    echo '<form action="cart.php?action=update" method="post" id="isicart">';
    echo '<table border="1" width="500"><tr><td>No</td><td>Merk</td><td>Harga</td><td>Jumlah</td><td>Subtotal</td><td>Delete</td></tr>';
    if (!strlen($cart)==0) {
    $no=0;
     foreach ($isikeranjang as $id=>$qty) {
      $sqlShow = 'SELECT * FROM tb_produk WHERE id = '.$id;
      $result = mysql_query($sqlShow);
      while ($data = mysql_fetch_assoc($result)) {
      $no++;
       echo '<tr>';
       echo '<td>'.$no.'</td>';     //no
       echo '<td>' . $data['merk'] . '</td>'; //merk
       echo '<td>Rp. ' .$data['harga']. ',-</td>';  //harga
       echo '<td><input type="text" name="qty'.$id.'"value="'.$qty.'" size="3" maxlength="3" /></td>'; //jumlah
       echo '<td>Rp. ' . $data['harga'] * $qty . ',-</td>';  //subtotal
       echo '<td><a href="cart.php?action=delete&id='.$id.'"class="r">Hapus</a></td>';//hapus
       echo '</td></tr>';
       $total += $data['harga'] * $qty;
       $total_jumlah+=$qty;
      }
     }
    }
    echo '</table>';
   // echo '<p>Total Harga Semua: <strong>Rp. '. variabel yang menyimpan total .',-</strong></p>';
   echo '<p>Total Harga Jumlah : <strong>'.$total_jumlah.' Items</strong></p>';
   echo '<p>Total Harga Semua  : <strong>Rp. '.$total.',-</strong></p>';
    echo '<p><button type="submit">Update Keranjang Belanja</button></p>';
    echo '</form>';
  } else {
    echo '<p>Keranjang Belanja anda masih kosong, silahkan pilih produk.</p>';
  }
}
?>


inc-db.php


<!--Dalam pertemuan kali ini kita membuat sebuah shopping cart sederhana dengan aliran kerja sebagai
berikut :

Katalog produk disimpan dalam database MySQL, data keranjang belanja calon pembeli tidak
dimasukkan dalam database, hanya disimpan di variabel Session, jika calon pembeli memutuskan untuk
menyelesaikan order (checkout) baru data keranjang belanja beserta data calon konsumen dimasukkan
ke dalam database MySQL.

Proses pembuatan kode untuk Checkout akan dilanjutkan di pertemuan berikutnya.
Salin file-file gambar pendukung latihan, kemudian buat file-file PHP sesuai
urutan dalam modul ini sehingga struktur direktori anda akan terlihat seperti
gambar di sebelah kanan.
Untuk mempercepat, import kode SQL database contoh daftar produk ke
dalam PHPMyAdmin.

Source Code dibawah ini sengaja dibuat salah dan atau hanya berupa pseudocode/algoritma saja.
Silahkan dilengkapi sehingga menjadi kode yang benar.

http://sauraaprila.wordpress.com/category/e-comerce/


1.  File dbconfig.php
-->
<?php
mysql_connect('localhost','root','');
mysql_select_db('tugas_internet');
// Konfigurasi koneksi database MySQL
/*$database = "commerce";
$username = "root";
$password = "";
$server = "localhost";

Katalog Produk
Keranjang
Belanja
(Disimpan dalam
User Session)
Checkout
(Proses Order) $koneksi = buka koneksi ke mysql jika gagal : die ("Koneksi MySQL gagal!");
$mysqldb = pilih database yang akan digunakan, jika gagal : die ("Tidak dapat mengakses
Database!");
*/
?>
<!--
Setelah selesai menulis kode-kode diatas, pastikan semua berjalan sesuai yang diharapkan, kumpulkan
dalam sebuah folder dengan nama nomor NIM anda.

Pertemuan berikutnya menambahkan tombol Checkout dan memproses order yang sesungguhnya ke
dalam database serta pengiriman kopi order via email.-->


index.php


<?php
session_start();
require_once('inc-db.php');
require_once('fungsi.php');
?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
  <title>Toko Online Terbesar Sekos-kosan</title>
  <link rel="stylesheet" href="styles.css" />
</head>
<body>
  <h1>Keranjang Belanja Anda</h1>
  <?php
  echo TampilkanIsiCart();
  ?>
  <h2>Daftar Produk Terlaris Saat Ini</h2>
  <?php
  $sqlShow ="SELECT * FROM tb_produk ORDER BY id";
  $result = mysql_query($sqlShow);
  echo '<table width="500">';
  while ($data = mysql_fetch_assoc($result)){
    echo"<tr>";
    echo "<td>".$data['merk']."</td><td>Rp. ".$data['harga']."</td>";
    echo '<td><a href="cart.php?action=add&id='.$data['id'].'">BELI</a></td>';
    echo '</tr>';
  }
  echo '</table>';
  ?>
</body>
</html>


style.css



5.  File style.css
* {
  margin: 0;
  padding: 0;
}

body {
  background: #fff;
  font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
  font-size: 100%;
  color: #333;
}

#shoppingcart {

  background: #eee;
  border: 1px solid #444;
}

#shoppingcart p {
  margin: 0 1em 1em;
}

h1 {
  font-size: 140%;
  margin: 0.5em 1em;
}

#daftarproduk {
  position: absolute;
  top: 100px;
  left: 50px;
  width: 500px;
  background: #ddd;
  border: 1px solid #333;
}

#daftarproduk table {
  font-size: 90%;   border-collapse: collapse;
}

#daftarproduk table td {
  border: 1px solid #999;
  padding : 10px 10px 10px 10px;
}

#daftarproduk p, #daftarproduk button {
  margin: 1em;
}

Tidak ada komentar:

Posting Komentar