Membuat nomor urut harian dengan php
Ada teman bertanya, bagaimana membuat nomor urut yang setiap hari kembali ke awal? Secara logic prosesnya cukup sederhana yaitu melakukan pengecekan pada tabel mysql yang sudah dibuat apakah ada data hari sesuai tanggal sistem. Jika ada maka ambil dan tambahkan nilainya, kemudian perbaharui datanya. Jika tidak ada maka buat record baru dengan tanggal tersebut kemudian set nilai urutan 1.
Contoh kasus aplikasi web yang menggunakan sistem penomoran ulang setiap hari, setiap bulan dan setiap tahun bisa kita temui pada banyak keperluan misal saja yang paling sederhana sistem conter pengunjung yang bisa dipisahkan berapa jumlah kunjungan harian, bulanan dan tahunan. Contoh lain nomor antrian, yang setiap harinya kembali ke 1. Dan beberapa kasus bisa kita temui untuk nomor nota transaksi yang kembali ke 1 pada setiap tahunya.
Pada kesempatan ini saya tidak berbagi tentang penerapanya secara langsung seperti kasus diatas, tapi saya akan coba buat contoh sederhana yang mungkin nanti bisa dikembangkan ke berbagai keperluan yang serupa.
Untuk membuat nomor urut harian, pertama kita harus buat sebuah tabel misal saya beri nama tb_antrian :
CREATE TABLE `db_coba`.`tb_antrian` ( `tanggal` DATE NOT NULL , `antrian` INT NOT NULL , PRIMARY KEY ( `tanggal` ) ) ENGINE = MYISAM ;
Kemudian kita akan membuat beberapa rutin proses yaitu :
Koneksi database
mysql_connect("localhost","root","") or die("Gagal Akses Server"); mysql_select_db("db_coba") or die("Gagal Akses Database");
Mengambil tanggal sistem
$hari_ini=date("Y-n-j");
Cek data sesuai tanggal
$query="SELECT tanggal,antrian FROM tb_antrian WHERE tanggal='$hari_ini' LIMIT 1"; $result=mysql_query($query) or die(mysql_error()); if(mysql_num_rows($result)>0) { //jika ada maka ambil nilainya $row=mysql_fetch_array($result); $antrian=$row['antrian']; $query="UPDATE tb_antrian set antrian=antrian+1 WHERE tanggal='$hari_ini' LIMIT 1"; mysql_query($query) or die(mysql_error()); } else { //jika tidak ada maka sisipkan data $antrian=1; $query="INSERT INTO tb_antrian(tanggal,antrian) VALUES('$hari_ini',1)"; mysql_query($query) or die(mysql_error()); }
Menampilkan urutan terakhir
//cek panjang nilai jika = 1 maka tambahkan 0 didepanya if(strlen($antrian)<2) $antrian="0".$antrian;
Gambaran Proses :
- Misal hari ini tanggal 2013-4-16 (fomat dalam mysql)
- Pada saat php di jalankan, yang pertama dilakukan adalah koneksi database
- Kemudian melakukan pengecekan apakah ada data dengan tanggal 2013-4-16
- Jika ada, maka ambil nilai antrian. Kemudian update nilai antrian
- Jika tidak ada, sisipkan data baru dengan tanggal 2013-4-16, dan nilai antrian = 1
Silahkan download contoh lengkapnya : Contoh membuat nomor urut harian
Semoga bermanfaat dan selamat mencoba.
** Bebas disunting dengan menyebutkan sumber **