Selamat pagi menjelang siang pembaca semua, hari ini kita akan mempelajari sedikit mengenai penomoran Otomatis. Yang mana merupakan Penemuan Logika saya pribadi alias "ORIGINAL". Biasanya para pembuat kode mengandalkan fitur "Auto Increment" pada MySQL database. Hanya saja, nomor tersebut akan terus berlanjut dan semakin besar bilangan/nominalnya. Nah, bagaimana caranya membuat penomoran otomatis yang dinamis? dan tentunya tidak terbatas?. Mari simak penjelasan berikut.
- Buat Database dan Tabelnya terlebih dahulu (misal: db_test dan tbl_nomor).
1: create database db_test;
2: create table tbl_nomor (id_nomor varchar(12) primary key);
1: <?php
2: $server = "localhost";
3: $username = "root";
4: $password = "password";
5: $database = "db_test";
6: $koneksi = new mysqli($server,$username,$password,$database);
7: if($koneksi->connect_errno){
8: echo "Failed to connect to MySQL: (" . $koneksi->connect_errno . ") " . $koneksi->connect_error;
9: }
10: ?>
1: <?php
2: #baris koneksi dengan mysqli
3: include ("koneksi.php");
4: #Baris fungsi nomor otomatis
5: function AutoNumber($tabel,$order,$akr){
6: $tgl = date("ym",time());
7: $ambil_data = $koneksi->query("SELECT * from ". $tabel ." order by ". $order ." desc");
8: $urutan = $ambil_data->fetch_row();
9: if($urutan[0] == ""){
10: $idAuto="$akr.".$tgl.".001";
11: }else
12: if($urutan[0] <> ""){
13: $data_akhir = $koneksi->query("SELECT * from ". $tabel ." order by ". $order ." desc limit 0,1");
14: $urutan2 = $data_akhir->fetch_row();
15: if(substr($urutan2[0],0,8) <> "$akr.".$tgl){
16: $idAuto="$akr.".$tgl.".001";
17: }else{
18: $Counter=substr($urutan2[0],9,3)+1;
19: if($Counter < 10){
20: $idAuto="$akr.".$tgl. ".00" .$Counter;
21: }else
22: if($Counter < 100){
23: $idAuto="$akr.".$tgl. ".0" .$Counter;
24: }else
25: if($Counter < 1000){
26: $idAuto="$akr.".$tgl. "." .$Counter;
27: }
28: }
29: }#akhir auto number
30: return $idAuto;
31: }
32: ?>
1: <!DOCTYPE html>
2: <html>
3: <head>
4: <meta charset="utf-8">
5: <meta http-equiv="X-UA-Compatible" content="IE=edge">
6: <title>Nomor Otomatis</title>
7: <link rel="stylesheet" href="">
8: </head>
9: <bod>
10: <form action="" method="post" accept-charset="utf-8">
11: <input type="submit" name="proses" value="Proses">
12: </form>
13: <?php
14: if(isset($_POST['proses'])){
15: include("koneksi.php");
16: include("function.php");
17: $idAutoNumber = AutoNumber('tbl_nomor','id_nomor','NUM');
18: $input_nomor = $koneksi->query("INSERT into tbl_nomor values('$idAutoNumber')");
19: $ambil_nomor = $koneksi->query("SELECT * from tbl_nomor order by id_nomor DESC");
20: while($hasil_nomor = $ambil_nomor->fetch_object()){
21: echo $hasil_nomor->id_nomor;
22: echo "<br>";
23: }
24: }
25: ?>
26: </body>
27: </html>
- Setiap kode dipisah dengan tanda titik (bisa juga sih dengan tanda yang lain :D )
- NUM : merupakan Akronim, terdiri dari 3 karakter (huruf) dan bisa ditentukan sendiri pada saat pemanggilannya. $idAutoNumber = AutoNumber('tbl_nomor','id_nomor','NUM').NUM disini saya artikan NUMBER, Anda bisa membuat yang lain (misal: PRD alias PRODUK)
- Angka 1508 menunjukkan tahun 2015 dan bulan 08
- Angka 001,002,003...,dst menunjukkan no urut. Nah, katanya tidak terbatas??? Itu kan hanya mentok di 999. Bagaimana ini...!!!!. Don't be panic...(sok inggris :D). Angka-angka tersebut akan kembali ke 001 apabila Tahun atau Bulannya berubah. Beress...
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :