Home » , » Belajar Php Dasar Pemesanan Barang

Belajar Php Dasar Pemesanan Barang

Posted by Kamar Pekick on Sunday, 23 April 2017

Database : TOKOABC
Tabel-tabel :
Barang(*kode_brg, nama_brg, stok,satuan) Jual (*nomor_tsk,tanggal_tsk,jumlah)
Detail_jual(**nomor_tsk,**kode_brg,qty,total)
Pelanggan(*kode_plg,nama_plg, alamat,password)  

1. Halaman Utama Untuk Pemilihan Barang Yang Dipesan.
Script ini mengahsilkan gambar, dan sekaligus hiperlink ke keranjang.php
  1. <html>
  2. <head>
  3. <title> ABC Online Shop</title>
  4. </head>
  5. <body>

  6. <table border=2>
  7. <tr><th colspan=3 width=400><h1>ABC Online Shop<h1></th></tr>
  8. <tr> <td align=center><a href=”profil.php”> Profil </a></td>
  9. <td align=center><a href=”cekpesan.php”> Cek Pesanan </a></td>
  10. <td align=center><a href=”admin.php”> Admin </a></td></tr>
  11. </td></tr>
  12. </table>
  13. <BR>
  14. SILAHKAN MEMILIH BARANG KAMI <BR>
  15. <BR>
  16. <?
  17. $pilihke=$pilih;
  18. $nomorbaru=$nopesan;
  19. include_once “konek.php”;
  20. $ambil=”select kode_brg,nama_brg from barang limit 0,10″;
  21. $lakukan=mysql_query($ambil);
  22. while($hasil=mysql_fetch_array($lakukan))
  23. {
  24. ?>
  25. <? echo $hasil[kode_brg]; ?><BR>
  26. <? echo $hasil[nama_brg]; ?><BR>
  27. <input name=”in_cacah” type=”text” value=’1′ Width=’10’>
  28. <a href=”keranjang.php ?
  29. kodebarang=<?echo $hasil[kode_brg]; ?> && cacah=<?echo $in_cacah;?>
  30. && pilih=<? echo $pilihke; ?> && notsk_baru=<?echo $nomorbaru;?>
  31. “> Masuk Keranjang </a><BR><BR>
  32. <?}?>
  33. </body>
  34. </html>
 Penjelasan Script:
[18] identifikasi apakah barang pada halaman ini pernah di klik belum.bila nilai $pilih=0, bila sudah$pilih=1, nilai ini diambil dari variabel pilih pada script keranjang.php

2. Halaman Untuk Memuat Daftar Barang Yang Dipesan
    file : keranjang.php

  1. <HTML>
  2. <BODY>
  3. DAFTAR BELANJA <BR>
  4. <?
  5. include “konek.php”;
  6. if($pilih==0)
  7. {
  8. $lihatnomor=”select max(nomor_tsk) as notsk from jual”;
  9. $no=mysql_query($lihatnomor) or die (“gagal ambil nomor”);
  10. $no1=mysql_fetch_array($no);
  11. $notsk_akhir=$no1[notsk];
  12. $notsk_baru=$notsk_akhir+1;
  13. //rekam data pesan pertama kali
  14. $rekam=”INSERT INTO jual(nomor_tsk) VALUES($notsk_baru)”;
  15. mysql_query($rekam) or die(“GAGAL REKAM DATA”);
  16. $pilih=1;
  17. }
  18. echo “Nomor Pesan : $notsk_baru”;
  19. $rekam_det=”insert into detail_jual(nomor_tsk,kode_brg,qty)values
  20. (‘$notsk_baru’,’$kodebarang’,’$in_cacah’)”;
  21. mysql_query($rekam_det) or die (“gagal Rekam di jual detail”);
  22. ?>
  23. <form name=”form1″ methode=”post” action=”pesan.php”>
  24. <table width=600 border=1>
  25. <tr><td>Kode Barang</td> <td>Nama Barang</td> <td>Jumlah</td></tr>
  26. <?
  27. include_once “konek.php”;
  28. $ambil=”select dj.kode_brg as kb,b.nama_brg as nb,dj.qty as q from detail_jual dj
  29. inner join barang b on dj.kode_brg=b.kode_brg
  30. inner join jual j on dj.nomor_tsk=j.nomor_tsk
  31. where dj.nomor_tsk=’$notsk_baru'”;
  32. $lakukan=mysql_query($ambil);
  33. while($hasil=mysql_fetch_array($lakukan))
  34. {
  35. $kodebar=$hasil[kb];

  36. ?>
  37. <tr> <td><? echo $hasil[kb]; ?></td>
  38. <td><? echo $hasil[nb]; ?></td>
  39. <td><? echo $hasil[q];?></td>
  40. </tr>
  41. <?
  42. }
  43. ?>
  44. <tr>
  45. <td><a href=”tampil_kolom.php?pilih=<?echo $pilih;?> &&nopesan=<?echo $notsk_baru;?>” > Lagi ?</a></td>
  46. <input name=”nopesan” type=”hidden” value=<? echo $notsk_baru ;?>>
  47. <td><input name=”pesan” type=”submit” value=”PESAN”></td>
  48. </tr>
  49. </table>
  50. </form>
  51. </BODY>
  52. </HTML>  

    Penjelasan Script
    [6] untuk mengidentifikasi apakah ini merupakan pemilihan pertama atau yang berikutnya.Bila pemilihan pertama var $pilih=0,bila pemilihan berikutnya $pilih=1

    [8]-[12] menentukan nomor transaksi terbaru ($nomor_tsk_baru) yakni nokmor terakhir + 1
    [14]-[15] merekam ke tabel jual, nomor transaksi terbaru untuk pesan tempat agar tidak dipakai user lain.
    [16] membuat flag $pilih=1, agar perekaman ini hanya terjadi sekali di tabel jual,
    [19]-[21] merekam data transaksi yg bersifat detail: Nomor_tsk,kode_barang,qty dll pada tabel detail_jual
    [27]-[44] menampilkan data transaksi tersebut secara lengkap
    [46] membuat hiperlink dg teks : lagi ? untuk menuju ke halaman utama tampil.kolom.php. Hiperlink ini harus melewatkan variabel pilih, agar
    di halaman utama (tampil_kolom.php), bila pernah memilih var pilih=1. dan var nopesan, agar nomor transaksi untuk user tersebut dapat diperoleh, isi nopesan ini nantinya akan digunakan untuk mengidentifikasi nomor_tsk pada tabel detail_jual. Hal ini harus dilakukan karena 1 nomor transaksi pada tabel
    jual akan tersimpan ber kali2 di tabel detail_jual– dengan nomro sama, sesuai dg banyaknya pemilihan barang.
    [47] melewatkan isi variabel no pesan ke halaman pesan.php.
    [48] membuat tombol Pesan, bila
    di klik akan menjalankan pesan.php

    3. Halaman Pe,esanan Barang Yang Sudah Dipilih
    file: pesan.php



    1. <HTML>
    2. <BODY>
    3. <form name=”formpesan” action=”pesanok.php”>
    4. <H1>DAFTAR PESANAN </H1><BR>
    5. Nomor : <?echo $nopesan?> <BR>
    6. <table width=600 border=1>
    7. <tr><td>Kode Barang</td> <td>Nama Barang</td> <td>Jumlah</td></tr>
    8. <?
    9. include_once “konek.php”;
    10. $ambil=”select dj.kode_brg as kb,b.nama_brg as nb,dj.qty as q from detail_jual dj
    11. inner join barang b on dj.kode_brg=b.kode_brg
    12. inner join jual j on dj.nomor_tsk=j.nomor_tsk
    13. where dj.nomor_tsk=’$nopesan'”;
    14. $lakukan=mysql_query($ambil);
    15. while($hasil=mysql_fetch_array($lakukan))
    16. {
    17. ?>
    18. <tr> <td><? echo $hasil[kb]; ?></td>
    19. <td><? echo $hasil[nb]; ?></td>
    20. <td><? echo $hasil[q] ; ?> </td>
    21. </tr>
    22. <?}?>
    23. </table>
    24. <BR><BR>
    25. <h2> Masukkan </h2><br>
    26. User : <input name=”user” type=”text” ><BR>
    27. Password: <input name=”pwd” type=”password”><BR>
    28. <input name=”nomorpesan” type=”hidden” value=<?echo $nopesan;?>>
    29. <tr> <td><input name=”ok” type=”submit” value=”OK”></td>
    30. </tr>
    31. </form>
    32. </body>
    33. </html>

    penjelasan : [4]-[23] : menampilkan daftar barang yang dipesan
    [26]-[27]: isian user dan password
    [28]: melewatkan isi variabel nomorpesan ke perekaman data lengkap (belum dibuat disini)
 Catatan
  1. Script diatas masih bersifat dasar, karena penekanan aplikasi yg dibuat untuk untuk menjelaskan dinamika program untuk perekaman data pada multiuser dan perekaman data master detail, dimana sekali transaksi dengan 1 nomor transaksi pada tabel master (tabel jual) tetapio nomor tersebut terekam ber –kali2 pada tabel detail (detail_jual).
  2. Pada aplikasi yang besar maka pada saat pesan dan belum bayar data-data tersimpan di tabel sementara, agar di tabel utama (jual dan detai_jual ) tidak banyak data sampah
  3. Aplikasi ini masih harus dikembangkan :
    1. Tampilan yg menarik dengan komposisi text, warna dan gambar
    2. Bila telah terjadi pembayaran, seharuanya data stok pada tabel barang berkurang.
    3. Konfirmasi ke user, apakah pesan diterima/bayar atau belum

Thanks for reading & sharing Kamar Pekick

Previous
« Prev Post

0 komentar:

Post a Comment