Auto Increment adalah yang sering digunakan didalam database dengan penambahan angka unik secara otomatis dan berurut setiap record. Jadi dengan proses insert pada table langsung atau proses statement insert lainnya. Pada kasus kali ini kita akan belajar membuat custom auto increment di Codeigniter. Oke kalau begitu jangan kemana-mana yuk langsung kita mulai saja membuatnya.Langkah Pertama
Sahabat persiapkan dahulu folder project Codeigniternya dan jangan lupa untuk selalu di configurasi agar tidak terjadi error. Sekarang buat sebuah database baru lalu buat table didalamnya seperti contoh berikut ini:
Pada field no_nota dijadikan primary_key tetapi tidak perlu dibuat Auto Increment karena kita akan membuat dengan cara custome auto increment.
Langkah Kedua
Sahabat buat Controller seperti code berikut ini:
- Nota.php
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php class Nota extends CI_Controller{ function __construct(){ parent::__construct(); $this->load->model('m_nota'); } function index(){ $x['nota']=$this->m_nota->get_no_nota(); $this->load->view('v_nota',$x); } function simpan_nota(){ $no_nota=$this->input->post('no_nota'); $this->m_nota->simpan_nota($no_nota); redirect('nota'); } } |
Lalu buat model seperti dalam code dibawah ini:
- M_nota.php
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php class M_nota extends CI_Model{ function get_no_nota(){ $cd = $this->db->query("SELECT MAX(RIGHT(no_nota,4)) AS kd_max FROM t_nota WHERE DATE(tanggal)=CURDATE()"); $kd = ""; if($cd->num_rows()>0){ foreach($cd->result() as $k){ $tmp = ((int)$k->kd_max)+1; $kd = sprintf("%04s", $tmp); } }else{ $kd = "0001"; } date_default_timezone_set('Asia/Jakarta'); return date('my')."-".$kd; } function simpan_nota($no_nota){ $hasil=$this->db->query("INSERT INTO t_nota (no_nota) VALUES ('$no_nota')"); return $hasil; } } |
Jika sudah tinggal buat sebuah view untuk melihat tampilannya ,beri nama V_nota.php silahkan ketikkan code berikut:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<!DOCTYPE html> <html> <head> <title>Membuat Custom Nomor Nota </title> </head> <body> <form action="<?php echo base_url().'index.php/nota/simpan_nota'?>" method="post"> <label for="">No Nota :</label> <input type="text" name="no_nota" value="<?php echo $nota;?>"> <button type="submit">Simpan</button> </form> </body> </html> |
Langkah ketiga
Buka project yang dibuat pada browser apakah sudah benar seperti dalam tampilan berikut:
Jika sudah seperti gambar diatas silahkan coba klik tombol simpan apabila benar maka nomor nota langsung tersimpan didalam database.

Saya kira cukup dalam pembahasan artikel ini tentang cara membuat custom auto increment di Codeigniter. Semoga bermanfaat dan sampai jumpa lagi dengan pembahasan lainnya.
terima kasih