Senin, 13 Agustus 2012

Random AutoNumber - php

Assalamu'alaikum gan, sudah cukup lama sepertinya web-buya belum update artikel lagi, dan Alhamdulillah pada kesempatan kali ini saya akan coba share php cara buat nomor atau kode unik otomatis untuk no faktur ataupun transaksi baik secara berurutan maupun secara acak. Sebelum saya bahas, sekali lagi kami mohon maaf dan harap maklum jika web-buya jarang update artikel lagi dikarenakan harus melakukan beberapa aktifitas lainya, sehingga tidak cukup waktu untuk update, namun kami akan berusaha sebisa mungkin untuk tetap update.

Kita langsung ke pembahasan bagaimana cara membuat kode unik  cara acak maupun berurutan untuk no faktur ataupun transaksi.

Kita mungkin sering melihat pada form pesanan transaksi biasanya terdapat no faktur atau no transaksi yang terdiri dari beberapa digit angka atau huruf, pernahkah anda bayangkan itu dibuat manual atau secara otomatis ?, tentunya itu dibuat secara otomatis oleh scipt yg akan saya bahas dibawah nanti, karena bisa repot dan kwalahan jika harus membuatnya secara manual.
Untuk yang pertama kita akan buat No transaksi secara urut alias tidak acak, misal : kode1, kode2, kode3 dan seterusnya. Untuk scriptnya silahkan masukan script berikut pada form input data anda :

<?php
function noauto($tabel, $inisial){
$struktur   = mysql_query("SELECT * FROM $tabel");
$field      = mysql_field_name($struktur,1);
$panjang    = mysql_field_len($struktur,1);
 
$qry  = mysql_query("SELECT max(".$field.") FROM ".$tabel);
$row  = mysql_fetch_array($qry);
if ($row[0]=="") {
$angka=0;
}
else {
$angka= substr($row[0], strlen($inisial));
}
$angka++;
$angka      =strval($angka);
$tmp  ="";
for($i=1; $i<=($panjang-strlen($inisial)-strlen($angka)); $i++) {
$tmp=$tmp."0" < 6;
}
return $inisial.$tmp.$angka;
}
 
?>
dan pada form inputan tuliskan contoh script seperti ini pada baris kolom No transaksi anda : <input name="kode_pemesan" type="text" id="kode_pemesan" value="<? echo noauto("pemesan","kode"); ?>" size="10"/ readonly> , yang berada didalam kurung noauto("pemesan") ini nama tabel untuk menerima data pesanan, dan silahkan sesuaikan dengan nama tabel punya agan.
Untuk selanjutnya kita akan buat contoh No unik secara acak yang hanya berupa angka, misal 68721, 55804, 15278 dan seterusnya. jadi hanya terdiri dari angka saja, namun angka" tersebut digenerate otomatis secara acak. Untuk scriptnya silahkan copy dibawah ini dan masukan pada form inputan anda.
<?php
$kode_ps=array('0','1','2','3','4','5','6','7','8','9');
shuffle($kode_ps);
reset($kode_ps);
$no=0;
foreach($kode_ps as $line)
{
$kode_pesanan.=strtoupper($line);
$no++;
if (($no >= 5)) break;
  }
?>

dan pada form inputan tuliskan contoh script seperti ini pada baris kolom No transaksi anda : <input name="kode_pesanan" type="text" id="kode_pesanan" value="" size="10"/ readonly> hampir sama seperti diatas, cuma pada isi value nya diganti dengan script ini : <? echo $kode_pesanan;?> .
Untuk yang terakhir kita akan buat contoh No Faktur kombinasi dari angka dan hurup. Untuk scriptnya silahkan copy dibawah ini :
<?
$faktur=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9');
shuffle($faktur);
reset($faktur);
$no=0;
foreach($faktur as $line)
{
$kode_faktur.=strtoupper($line);
$no++;
if (($no >= 6)) break;
}
?>
dan pada form inputan tuliskan contoh script seperti ini pada baris kolom No transaksi anda : 
<input name="kode_pesanan" type="text" id="kode_pesanan" value="" size="10"/ readonly> 

hampir sama seperti diatas, cuma pada isi value nya diganti dengan script ini :  
<? echo $kode_faktur;?>

Ya pada script terakhir sebenarnya sama seperti script yang kedua, cuma pada array nya ditambahkan hurup dari a - z .

Oke sekian dulu tutor kali ini, dan seperti biasa jika masih kurang faham atau ada script yang error, agar dibahas pada form komentar dibawah.
See you All with next science.

1 komentar: