Postingan lainnya
Tanya Generate Kode Otomatis
Assalamualaikum, permisi suhu saya mau tanya...saya kan punya field kode yg dimana field itu hanya berisi 2 digit saja. Nah bagaimana caranya ketika data sudah mencapai 99 dan ingin input lagi, value kode nya itu tidak ingin jadi 100, tapi jadi A0,A1,A2...dan seterusnya sampai A9? ini kode yang saya pakai
$kd_last = 0;
$sql = "SELECT MAX( SUBSTRING(kode,2,2) ) as kode_max, max(kode) as max_kode, ho_bo as hobo
FROM mst_nasabah_konstruksi
WHERE kode LIKE '".$kd1."%0'";
$q = $this->db->query($sql);
$res = $q->row_array();
$maxkode = $res['max_kode'];
$kodemax = $res['kode_max'];
$nextHO = $kodemax;
if($nextHO >= '99')
$nextHO = 'A0';
$sql = "SELECT MAX( SUBSTRING(kode,2,2) ) as kode_max, max(kode) as max_kode, ho_bo as hobo
FROM mst_nasabah_konstruksi
WHERE kode LIKE '".$kd1.$nextHO."%0'";
$q = $this->db->query($sql);
$res = $q->row_array();
$maxkode = $res['max_kode'];
$kodemax = $res['kode_max'];
$nextHO = $kodemax;
$nextHO++;
$kode = $kd1.sprintf("%02s", $nextHO).'0';
6 Jawaban:
Trus kalau sudah sampai Z9 atau ZZ mau seperti apa?
menurut ane sih kalau yang mudah kode itu misal KODE0001, jadi nanti selanjutnya KODE0002 atau gak gabungan dari beberapa ketentuan dan di belakang nya di sisipkan no, misal racikan nya FR-tanggalsekarang001, nah nanti selanjut nya jadi FR-tanggalsekarang002 => FR-190917001(hanya contoh)
@yugaaghnia itu pengkodean kenapa cuma dibuat 2 digit sangat terbatas sekali kalau untuk digunakan dalam aplikasi yg kedepannya akan banyak data. Saya sepakat dengan kang @sukmaw
@sukmaw @firmanza terimakasih sudah bantu jawab pertanyaan saya. Sebenarnya saya bikin 4 digit gan untuk pengkodeannya. Contohnya "B010" Dimana: - Digit ke1 itu saya ambil string pertama dari nama perusahaan, contohnya Bumi Asri -Digit ke2-3 itu menunjukan nomor urut, seperti yg saya tanyakan -Digit terakhir menunjukan 0 untuk kantor pusat dan 1 untuk kantor cabang Nah, kira2 agan2 punya solusi nggak buat kasus saya, hehe
Jawaban Terpilih
ini saya coba dari 00 - ZZ, maksimal entry 1000 (0-999)
<?php
function getAlphanum($num)
{
$alpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$alphanum = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
if($num < 100)
{
if(strlen($num) < 2)
return '0' . $num;
return $num;
}
else if($num >= 100)
{
$newNum = $num - 99;
$firstLetter = (int)($newNum / 35);
$secondLetter = ($newNum % 36) - 1;
if($secondLetter == -1)
$secondLetter = 35;
return substr($alpha, $firstLetter, 1) . substr($alphanum, $secondLetter, 1);
}
}
for($i=0;$i<1000;$i++)
{
echo 'Number: ' . $i . ' = ' . getAlphanum($i);
echo '<br>';
}
hasilnya bisa dicek disini https://tehplayground.com/5Rx1JLFf3y3PU4zt klik save and run
sekilas sih kelihatannya bener sampe ZZ :D