Cara membuat nomor surat mengulang setiap hari otomatis dengan PHP

Share:
Selamat malam agan semua, kali ini saya akan membahas tentang bagaimana cara membuat nomor surat yang bisa looping setiap berganti hari.

Oke lanjut mengenai Cara membuatnomor surat mengulang setiap hari otomatis dengan PHP, awalnya ini kenapa saya ingin membagi hal ini karena tugas dari temen yang ingin di buatkan sistem permintaan informasi nasabah. Ada beberapa rule/aturan yang di terapkan diantaranya setiap nasabah yang di mintakan informasi harus ada surat nomor referensi, dan nomor referensi tersebut setiap berganti hari harus mengulang lagi dari nomor 1 dan juga berganti tanggal.
Begitulah kurang lebih pembukaannya..  

Pertama kita siapkan tabel nomor (nama tabel terserah ya) dengan field sebagai berikut:
Id_nomor, no_referensi, waktu, user. Cukup 4 field sebagai contoh ya, field id_nomor saya buat auto increment supaya ketika insert sudah otomatis membentuk nomor secara otomatis, kemudian ada field no_referensi untuk menampung nomor yang akan saya bentuk dari script php, ada field waktu untuk menyimpan waktu input form, dan yang terakhir field user untuk menyimpan nama user yang input.

Format nomor referensi yang diinginkan yaitu : 01/02/VIII/KANTOR/17
01 = nomor otomatis dari perhitungan script
02 = tanggal input
VII = bulan input dalam bentuk romawi
Kantor = nama kantor user
17 = tahun input yang hanya diambil 2 digit

Kali ini saya hanya akan membahas bagaimana cara membuat nomor surat mengulang setiap hariotomatis dengan PHP. Silahkan buat tabel sesuai struktur yang tadi saya sampaikan, supaya lebih cepat agan semua bisa copy pasti script berikut

CREATE TABLE `tb_nomor` ( `id_nomor` int(5) NOT NULL AUTO_INCREMENT, `no_referensi` varchar(15) NOT NULL, `waktu` datetime NOT NULL, `user` varchar(15) NOT NULL, PRIMARY KEY (`id_nomor`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Setelah itu selipkanlah script php berikut didalam form input :

$looping = mysql_fetch_array(mysql_query("SELECT IFNULL(MAX(id_nomor)+1,1) AS id_nomor FROM tb_nomor WHERE DATE_FORMAT(`waktu`,'%Y%m%d')=DATE_FORMAT(NOW(),'%Y%m%d')"));

Script diatas akan mencari nomor terbesar dari field id_nomor kemudian ditambahkan nilai 1 sehingga hasilnya = x+1. Supaya setiap berganti tanggal nomor bisa reset mulai dari nomor 1 lagi saya gunakan kondisi DATE_FORMAT(`waktu`,'%Y%m%d')=DATE_FORMAT(NOW(),'%Y%m%d') script ini sebagai kondisi tanggal saat input.

Singkatnya jika hari ini tidak ada yang input form permintaan maka script tsersebut akan menghasilkan nilai 1.

Dari script diatas yang sudah saya jelaskan, agan semua juga bisa memodifikasi supaya nomor hanya akan mengulang setiap bulan bahkan setiap tahun.

Sekian posting kali ini, jika ada sesuatu yang masih kurang dalam pemahaman bisa ditanyakan pada kolom komentar, atau ada yang ingin ditambahkan silahkan agan semua.


Tidak ada komentar