Membuat nomor transaksi diawali 0000

membuat nomor transaksi dalam php

Jika kita membuat aplikasi yang berhubungan dengan proses transaksi maka akan membuat penomoran secara otomatis yang format nomornya terdiri dari beberapa angka sesuai urutan transaksinya. Nomor transaksi biasanya diawali dari angka terkecil yaitu satu tapi ditampilkan dalam digit angka ratusan atau ribuan. Misal untuk transaksi no 1 maka akan ditampilkan dengan angka 001 atau 0001.

Sebenarnya sistem penomoran seperti saya jelaskan diatas, tidak ada bedanya dengan penomoran biasanya hanya saja dengan cara ini nomor transaksi akan tampil lebih konsisten karena jumlah digit yang digunakan memiliki panjang sama.

Dari susunan tabel penyimpanannya juga tidak ada perbedaan, jadi semuanya memang murni tampilanya saja. Misal untuk filed/kolom nomor bisa menggunakan tipe int atau long untuk jumlah transaksi yang lebih banyak.

Secara logika proses pembuatan nomor transaksi dengan cara yang saya bahas ini tidak jauh beda dengan biasanya hanya saja sebelum ditampilkan, nomor yang diperoleh dari database di konversi dulu dengan format khusus.

Misal kita punya tabel transaksi dengan struktur seperti berikut :

  1. nomor - tipe data int dengan atribut primary auto increment
  2. tanggal - tipe data date
  3. dst disesuaikan dengan kasus

Asumsi data transaksi masih kosong sehingga jika ada transaksi baru maka nomor akan diberi nilai 1.

Jika kita mengambil nomor transaksi dengan cara biasa seperti cara berikut :

function getLastTrans()
{
   $querycount="SELECT MAX(ID) AS LastID FROM tb_trans";
   $result=mysql_query($querycount) or die(mysql_error());
   $row=mysql_fetch_array($result, MYSQL_ASSOC);
   return $row['LastID'];
}

Fungsi diatas akan mengembalikan nilai ID transaksi terakhir dengan cara :

$LastID=getLastTrans();

Misal ketemu ID transaksi terakhir adalah 0 karena tabel transaksi masih kosong. Nilai 0 adalah nomor terakhir, berarti untuk transaksi berikutnya adalah 1. Jika ketemu 1, maka transaksi berikutnya 2, dst.

ID terakhir tersebut kemudian harus kita manipulasi agar bisa ditampilkan dalam bentuk 0001. Untuk memanipulasi ID tersebut kita bisa gunakan fungsi berikut :

function FormatNoTrans($num)
{
    $num=$num+1;
    switch (strlen($num))
    {
    case 1 : $NoTrans = "0000".$num; break;
    case 2 : $NoTrans = "000".$num; break;
    case 3 : $NoTrans = "00".$num; break;
    case 4 : $NoTrans = "0".$num; break;
    default: $NoTrans = $num;   
    }      
    return $NoTrans;
}

Secara logika kita cuman melakukan pengecekan panjang angka yang dikirimkan kepada fungsi FormatNoTrans. Misal jika dikirimkan 1 maka outpunya adalah 00001, jika dikirimkan dalam ratusan seperti 221 maka outpunya 00221 dst.

Jika kita gabungkan kedua fungsi yang sudah dibuat maka kita bisa memanggilanya dengan cara :

$LastID=FormatNoTrans(getLastTrans());

Notes :
Untuk beberapa kasus anda bisa kombinasikan nomor tersebut dengan huruf seperti A001, atau bisa juga dengan kombinasi angka seperti tahun atau bulan. Akan tetapi untuk kasus seperti ini anda harus menyediakan field baru agar nomor transaksinya bisa disimpan secara terpisah, contoh dengan susunan tabel seperti berikut :

  1. nomor - tipe data int dengan atribut primary auto increment
  2. kode - tipe char sesuai panjang yang diperlukan
  3. tanggal - tipe data date
  4. dst disesuaikan dengan kasus

Jika perlu kombinasi seperti diatas anda bisa gunakan cara :

$LastID="A".FormatNoTrans(getLastTrans()); //Untuk kombinasi dengan huruf
$LastID=year("Y").FormatNoTrans(getLastTrans()); //Untuk kombinasi dengan tahun

Pada saat menyimpan ke tabel anda tinggal simpan hasil kode ke field kode yang sudah kita buat.

Semoga bermanfaat dan selamat mencoba. Jika ada yang kurang jelas silahkan ditanyakan dan jika ada yang salah silahkan dikoreksi.

Zainal Hakim

** Bebas disunting dengan menyebutkan sumber **

Artikel Lainnya

  • Membuat form kontak dengan html dan php
    Form kontak adalah salah satu bagian penting yang harus ada dalam sebuah website. Anda bisa lihat website-website yang pernah anda kunjungi, semuanya pasti menyediakan form kontak ini.
  • Cara menampilkan gambar dari database mysql dengan php
    Artikel ini akan membahas tentang bagaimana menampilkan gambar yang sudah diupload kedalam database mysql. Bahasa yang digunakan adalah PHP. Cara pembuatanya sangat sederhana sama dengan membuat laporan php biasa
  • Membuat pesan error sendiri dengan php
    Pesan error yang sering kita temui di lingkungan pemrograman php sangat beragam tergantung proses apa yang sedang dilakukan. Contoh paling gampang seperti gagalnya melakukan koneksi database, gagalnya menjalankan query, atau salahnya penggunaan sebuah function. Secara mendasar memang semua error akan muncul dilayar tanpa diminta dengan format seadanya (bawaan php). Bagaimana jika kita ingin membuat bentuk tampilan error sendiri?? ini bisa kita lakukan selama yang salah bukan cara penulisan phpnya. Caranya akan saya bahas pada artikel ini.
  • Membuat aplikasi data mahasiswa dengan PHP - Bagian 1
    Pada artikel ini saya akan menjelaskan langkah-langkah secara lengkap membuat aplikasi data mahasiswa dengan php. Bahasan akan saya bagi menjadi beberapa bagian yaitu Langkah Membuat database, Membuat koneksi database, membuat menu utama, membuat form input data, membuat proses simpan dan upload gambar, membuat laporan membuat pencarian, membuat delete data, membuat form update, membuat proses update, membuat tabel login, membuat proses login, dan terakhir membuat proses logout.
  • Menghapus file dengan php
    Dengan php kita bisa melakukan operasi terhadap file yang berada dalam server. Operasi file yang bisa dilakukan diantaranya adalah menghapus file. Berikut ini caranya.

Kiriman terbaru