Cara membuat kode otomatis di PHP & MYSQL / MYSQLI

11:59 0
Kembali lagi bersama segalacoding, kali ini saya akan memberitahukan caranya membuat kode otomatis di PHP dengan tambahan menggunakan MYSQL. Terutama kita menempukan kasus contoh pembuatan aplikasi dan terdapat data karyawan dengan kode otomatis tanpa kita membuat dan menginputnya menjadi manual. Contoh : KP001, KP002, KP003, dan seterusnya. Sudah sedikit paham apa benar sesuai dengan kasus yang anda temui ? ok langsung saja kita uji coba.

Persiapan :
1. Pastikan anda mempunyai text editor (Software untuk membuat dokumen PHP yang nantinya akan ada beberapa kode HTML) contoh text editor : notepad ++, sublime text, Adobe Dreamweaver dll.
2. Browser yang ingin digunakan
3. Install aplikasi web server dahulu seperti xampp, wampp, dll

Langkah - Langkah :
1. Buka text editor kalian
2. Buat database terlebih dahulu contoh : kode_auto / bebas seterah kalian asalakan anda hafal.
3. Kalau sudah buat databasenya kemudian buat tabel dengan nama tb_karyawan
4. Berikut dibawah ini contoh kode mysql dan struktur field yang ada di dalam table tb_karyawan 
Scriptnya :
CREATE TABLE `tb_karyawan` (
  `kode_karyawan` varchar(10) NOT NULL,
  `nama_karyawan` varchar(100) NOT NULL,
  `ttl_karyawan` date NOT NULL,
  `alamat_karyawan` varchar(100) NOT NULL,
  PRIMARY KEY (`kode_karyawan`)
) 

5. Berikut dibawah ini terdapat 2 versi yang anda dapat gunakan untuk membuat kode otomatisnya .
Versi pertama :
<?php
       // Funsi dari cek_kode adalah mengecek data terakhir yang terdapat di dalam kode_karyawan
       $cek_kode= mysql_query("SELECT kd_karyawan FROM tb_karyawan ORDER BY kd_karyawan DESC LIMIT 0,1");
       
       // Memanggil data dari cek_kode  
       $data=mysql_fetch_array($cek_kode);
       
       // Cek data kd_karyawan
       $cekQ=$data['kd_karyawan'];
       
       // Cek kode yang angka 0 tsb
       $awalQ=substr($cekQ,0-6);

       // Menambahkan kode terakhir contoh dari KP00001 berikutnya KP000002
       $next=$awalQ+1;
       $kode=strlen($next);
       
       // Cek Kondisi nomor urutnya 
        if(!$cekQ)
        { $no='00000'; }
        elseif($kode==1)
        { $no='00000'; }
        elseif($kode==2)
        { $no='0000'; }
        elseif($kode==3)
        { $no='000'; }
        elseif($kode==4)
        { $no='00'; }
        elseif($kode==5)
        { $no='0'; }
        elseif($kode=6)
        { $no=''; }

        // Ini nantinya kode yang bakal kita gunakan di input type text
        $items='KP'.$no.$next;
 ?>

Versi kedua
 <?php 
    // membaca kode karyawan terbesar / terakhir
    $query = "SELECT max(kode_karyawan) as maxKode FROM tb_karyawan";
    $hasil = mysql_query($query);
    $data  = mysql_fetch_array($hasil);
    $kodeBarang = $data['maxKode'];

    // mengambil angka atau bilangan dalam kode anggota terbesar,
    // dengan cara mengambil substring mulai dari karakter ke-1 diambil 6 karakter
    // misal 'KP000001', akan diambil '000001'
    // setelah substring bilangan diambil lantas dicasting menjadi integer
    $noUrut = (int) substr($kodeBarang, 6, 6);

    // bilangan yang diambil ini ditambah 1 untuk menentukan nomor urut berikutnya
    $noUrut++;

    // membentuk kode anggota baru
    // perintah sprintf("%06s", $noUrut); digunakan untuk memformat string sebanyak 6 karakter
    // misal sprintf("%06s", 12); maka akan dihasilkan '012'
    // atau misal sprintf("%06s", 1); maka akan dihasilkan string '001'
    // $char = "KP" => KP bisa ganti sesuai dengan kebutuhan
    $char = "KP";
    // Untuk menampilkan nantinya di input type text
    $newID = $char . sprintf("%06s", $noUrut);

 ?>

Jika ada pertanyaan langsung aja komen dibawah ya.