membuat generate nomor faktur secara otomatis dengan php

11
Membuat Generate Nomor Faktur Secara Otomatis Dengan Php 19.49 1 comment OK… sekarang kita coba membuat scriptnya. Pertama siapkan tabel untuk menyimpan data member CREATE TABLE member (id varchar(6),nama varchar(20),alamat text,PRIMARY KEY(id)); view plain print ? 1. <pre class="brush: sql">CREATE TABLE `member` ( 2. `idMember` varchar(10), 3. `nama` varchar(30), 4. `alamat` varchar(50), 5. PRIMARY KEY (`idMember`) 6. );</pre> 7. <pre class="brush: sql"> dan berikut ini contoh datanya view plain print ? 1. 2. </p> 3. <pre class="brush: sql">INSERT INTO `member` VALUES ('100001 ', 'MR. A', 'SOLO'); 4. INSERT INTO `member` VALUES ('100002', 'MR. B', 'SOLO'); 5. INSERT INTO `member` VALUES ('100003', 'MR. C', 'SEMARANG'); 6. INSERT INTO `member` VALUES ('100004', 'MR. D', 'YOGYAKARTA' );</pre> 7. <pre class="brush: sql"> Selanjutnya kita buat satu buah tabel lagi untuk menyimpan data

Upload: msbbrebes

Post on 02-Jan-2016

1.088 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: Membuat Generate Nomor Faktur Secara Otomatis Dengan Php

Membuat Generate Nomor Faktur Secara Otomatis Dengan Php

19.49    1 comment

OK… sekarang kita coba membuat scriptnya. Pertama siapkan tabel untuk menyimpan data memberCREATE TABLE member (id varchar(6),nama varchar(20),alamat text,PRIMARY KEY(id));

view plain print ? 1. <pre class="brush: sql">CREATE TABLE `member` (  2.   `idMember` varchar(10),  

3.   `nama` varchar(30),  

4.   `alamat` varchar(50),  

5.   PRIMARY KEY  (`idMember`)  

6. );</pre>  

7. <pre class="brush: sql">  

dan berikut ini contoh datanyaview plain print ?

1.    2. </p>  

3. <pre class="brush: sql">INSERT INTO `member` VALUES ('100001', 'MR. A', 'SOLO');  

4. INSERT INTO `member` VALUES ('100002', 'MR. B', 'SOLO');  

5. INSERT INTO `member` VALUES ('100003', 'MR. C', 'SEMARANG');  

6. INSERT INTO `member` VALUES ('100004', 'MR. D', 'YOGYAKARTA');</pre>  

7. <pre class="brush: sql">  

Selanjutnya kita buat satu buah tabel lagi untuk menyimpan data transaksi pembayaran. Kita buat tabel yang simpel saja sebagai contoh misalnyaview plain print ?

1.     2. </p>  

3. <pre class="brush: sql">CREATE TABLE `transaksi` (  

4.   `idTransaksi` varchar(12),  

Page 2: Membuat Generate Nomor Faktur Secara Otomatis Dengan Php

5.   `idMember` varchar(10),  

6.   `jumlah` int(11),  

7.   PRIMARY KEY  (`idTransaksi`)  

8. )</pre>  

9. <pre class="brush: sql">  

di mana field ‘idTransaksi’ untuk menyimpan data ID transaksi, ‘idMember’ terkait dengan ID dari member yang membayar, dan ‘jumlah’ menunjukkan jumlah uang yang dibayar. Karena ‘idTransaksi’ adalah kode unik maka kita set field tsb sebagai primary key.OK, tabel database yang diperlukan sudah siap, selanjutnya kita buat scriptnya mulai dari form pembayarannya.bayar.html view plain print ?

1.   </p>  2. <pre class="brush: php"><html>  

3. <head>  

4.    <title>Transaksi Pembayaran</title>  

5. </head>  

6. <body>  

7.    <h1>  

8. Transaksi Pembayaran</h1>  

9. <p>  

10. <a href="bayar.htm">Form Bayar</a></p>  

11. <hr>  

12.    <form method="post" action="proses.php">  

13.    ID Member </td><td><input type="text" name="id"> <input type="submit" name="submit" value="Submit">  

14.    </form>  

15. </body>  

16. </html></pre>  

17. <pre class="brush: php">  

Page 3: Membuat Generate Nomor Faktur Secara Otomatis Dengan Php

Tampilan dari form di atas adalah sbb:

Script berikutnya yang kita buat adalah proses.php. Script ini nanti akan mencari data member berdasarkan ID member yang dimasukkan dari form bayar.html. Jika data member yang dicari ada maka akan memunculkan data member, dan jika tidak maka akan memunculkan konfirmasi data member tidak ditemukan.Oya, sebelumnya kita butuh script untuk koneksi databasenya dulu yakoneksi.phpview plain print ?

1.  <b>   2. </b></p>  

3. <pre class="brush: php"><?php  

4. // nama host  

5. $dbhost = '...';  

6. // nama user  

7. $dbuser = '...';  

8. // password user  

9. $dbpass = '...';  

10. // nama database  

11. $dbname = '...';  

12.   

13. mysql_connect($dbhost, $dbuser, $dbpass);  

14. mysql_select_db($dbname);  

15. ?></pre>  

16. <pre class="brush: php">  

Nah sekarang baru script proses.php nyaproses.phpview plain print ?

Page 4: Membuat Generate Nomor Faktur Secara Otomatis Dengan Php

1. <b>   2. </b></p>  

3. <pre class="brush: php"><?php  

4. // koneksi ke database  

5. include 'koneksi.php';  

6. ?>  

7.   

8. <html>  

9. <head>  

10.    <title>Transaksi Pembayaran</title>  

11. </head>  

12. <body>  

13.    <h1>  

14. Transaksi Pembayaran</h1>  

15. <p>  

16. <a href="bayar.htm">Form Bayar</a></p>  

17. <hr>  

18. <?php  

19. // baca ID member dari form bayar.html  

20. $id = $_POST['id'];  

21. // lakukan query pencarian data member berdasarkan ID  

22. $query = "SELECT * FROM member WHERE idMember = '$id'";  

23. $hasil = mysql_query($query);  

24. if (mysql_num_rows($hasil)>0)  

25. {  

26. // jika ditemukan datanya maka tampilkan  

27. $data  = mysql_fetch_array($hasil);  

28. ?>  

Page 5: Membuat Generate Nomor Faktur Secara Otomatis Dengan Php

29.    <form method="post" action="proses2.php">  

30.    <table>  

31. <tr><td>ID</td><td>:</td><td><?php echo $id; ?></td></tr>  

32. <tr><td>Nama</td><td>:</td><td><?php echo $data['nama']; ?></td></tr>  

33. <tr><td>Alamat</td><td>:</td><td><?php echo $data['alamat']; ?></td></tr>  

34. <tr><td>Jumlah Bayar</td><td>:</td><td>Rp. <input type="text" name="jumlah"></td></tr>  

35. </table>  

36. <input type="hidden" name="id" value="<?php echo $id?>">  

37.    <input type="submit" name="submit" value="Submit">  

38.    </form>  

39. <?php  

40. }  

41. // jika tidak maka tampilkan peringatan  

42. else echo "Nomor ID tidak ditemukan";  

43. ?>  

44. </body>  

45. </html></pre>  

46. <pre class="brush: php">  

Tampilan dari script proses.php adalah seperti di bawah ini

Page 6: Membuat Generate Nomor Faktur Secara Otomatis Dengan Php

OK… script proses.php sudah dibuat, selanjutnya kita buat script proses2.php. Di dalam script ini, akan dilakukan proses penyimpanan data transaksi pembayaran dari member. Sebelum proses penyimpanan data transaksi, terlebih dahulu akan digenerate ID transaksinya secara otomatis. Bagaimana idenya? Idenya adalah pertama baca tanggal hari ini (current date) dalam format YYYYMMDD, gunakan function date('Ymd'). Anda tidak harus menggunakan format YYYYMMDD tapi bisa format DDMMYYYY atau MMDDYYYY.Setelah itu gunakan query untuk mencari nomor transaksi terakhir yang berawalan tanggal hari ini. Yang menjadi pertanyaan adalah bagaimana cara mencari nomor transaksi terahir? ya… gunakan saja function MAX() pada query nyaSELECT MAX(idTransaksi) FROM transaksi WHERE idTransaksi LIKE 'tanggalharini%'

Query di atas digunakan untuk mencari nomor transaksi terakhir yang berawalan tanggal hari ini.

Setelah idTransaksi terakhir diperoleh, selanjutnya kita baca nomor urut dari idTransaksi terakhir tersebut. Karena nomor urut adalah substring yang terletak dalam string nomor transaksi, maka kita gunakan function substr() untuk membacanya. Nomor urut ini terletak pada digit ke 9 s/d 12. Nah… nomor urut ini nanti selanjutnya kita tambah 1 untuk nomor urut transaksi berikutnya. Ilustrasinya begini, misalkan nomor urut dari id transaksi terakhir adalah 0001 maka nomor urut id transaksi berikutnya adalah 0002. Gunakan function sprintf('%04s', nomorurut) untuk menyatakan nomor urut dalam 4 digit string. Misalkan nomor urutnya adalah 12, maka dengan function tersebut akan dihasilkan ’0012′. Kemudian nomor urut ini kita gabung kembali dengan tanggal hari ini untuk membentuk nomor transaksi yang baru. Nomor transaksi yang baru sudah digenerate, barulah proses penyimpanan data transaksinya ke dalam tabel transaksi. OK… berikut ini isi script proses2.php nyaproses2.phpview plain print ?

1. <b>  </b><b>  2. </b></p>  

3. <pre class="brush: php"><?php  

4. // koneksi ke database  

5. include 'koneksi.php';  

6.   

7. // baca current date  

8. $today = date("Ymd");  

9. ?>  

10.   

11. <html>  

12. <head>  

13.    <title>Transaksi Pembayaran</title>  

Page 7: Membuat Generate Nomor Faktur Secara Otomatis Dengan Php

14. </head>  

15. <body>  

16.    <h1>  

17. Transaksi Pembayaran</h1>  

18. <p>  

19. <a href="bayar.htm">Form Bayar</a></p>  

20. <hr>  

21. <?php  

22.   

23. // baca id member dari form proses.php  

24. $id = $_POST['id'];  

25.   

26. // baca jumlah pembayaran dari form proses.php  

27. $jumlah = $_POST['jumlah'];  

28.   

29. // cari id transaksi terakhir yang berawalan tanggal hari ini  

30. $query = "SELECT max(idTransaksi) AS last FROM transaksi WHERE idTransaksi LIKE '$today%'";  

31. $hasil = mysql_query($query);  

32. $data  = mysql_fetch_array($hasil);  

33. $lastNoTransaksi = $data['last'];  

34.   

35. // baca nomor urut transaksi dari id transaksi terakhir  

36. $lastNoUrut = substr($lastNoTransaksi, 8, 4);   

37.   

38. // nomor urut ditambah 1  

39. $nextNoUrut = $lastNoUrut + 1;  

40.   

Page 8: Membuat Generate Nomor Faktur Secara Otomatis Dengan Php

41. // membuat format nomor transaksi berikutnya  

42. $nextNoTransaksi = $today.sprintf('%04s', $nextNoUrut);  

43.   

44. // proses simpan data transaksi dengan nomor transaksi yang baru  

45. $query = "INSERT INTO transaksi (idTransaksi, idMember, jumlah)  

46.           VALUES ('$nextNoTransaksi', '$id', '$jumlah')";  

47. $hasil = mysql_query($query);  

48. if ($hasil)  

49. {  

50.     // jika proses simpan transaksi sukses, maka tampilkan nomor transaksi dan data pembayaran  

51.     $query2 = "SELECT * FROM member WHERE idMember = '$id'";  

52.     $hasil2 = mysql_query($query2);  

53.     $data2  = mysql_fetch_array($hasil2);  

54. ?>  

55.   

56.    <p>  

57. Transaksi Pembayaran Sukses</p>  

58. <table>  

59. <tr><td>ID Transaksi</td><td>:</td><td><?php echo $nextNoTransaksi; ?></td></tr>  

60. <tr><td>ID Member</td><td>:</td><td><?php echo $id; ?></td></tr>  

61. <tr><td>Nama</td><td>:</td><td><?php echo $data2['nama']; ?></td></tr>  

62. <tr><td>Alamat</td><td>:</td><td><?php echo $data2['alamat']; ?></td></tr>  

63. <tr><td>Jumlah Bayar</td><td>:</td><td>Rp. <?php echo $jumlah; ?></td></tr>  

64. </table>  

65. <?php  

66. }  

67. else echo "Transaksi Gagal";  

Page 9: Membuat Generate Nomor Faktur Secara Otomatis Dengan Php

68. ?>     

69.   

70. </body>  

71. </html></pre>  

72. <pre class="brush: php">  

Tampilan dari script proses2.php adalah seperti di bawah ini

Mudah bukan membuatnya? selamat mencoba dan bereksperimen ya…