Saturday, May 13, 2017

Membuat Kode Pendaftaran atau Penomoran Id Otomatis Dengan Codeigniter

Assalamualaikum sis bro kakak adek cantip dimanapun dirimu berada. Setelah lama kagak nulis di blog ini, akhirnya, muncul juga kesadaran bahwa di luar ambisi nyari duit di internet, ternyata membagi pengalaman yang di dapat di dunia nyata kemudian menuangkan pengalaman tersebut ke dalam bentuk tulisan sangat berkhasiat menambah ilmu, wawasan dan  kegantengan kita dengan sendirinya. hahaha

So, what's next? saya memulainya dengan komitmen kecil dalem ati aja untuk membagi semua ilmu yang saya pelajari, tujuannya simple, selain untuk keperluan dokumentasi, sayang juga kalau ilmu pengetahuan di biarain mojok dalem kepala yaa kan yaa kan yaa kan.

Okay cukup dah basa-basinya. let to the point.

Here we go, seperti biasa, di codeigniter kita mainnya di bagian model, view, dan controllernya. Tapi untuk tutorial kita kali ini, saya cuma akan menjelaskan pada bagian model dan controllernya aja.

Pertama-tama buatlah file di model.

Penjelasan kode :

  • Pada bagian $this->db->select('RIGHT(user.id_odojers,4) as kode', FALSE);
  • user adalah adalah nama tabel nya
  • id_odojers adalah adalah nama kolomnya.
Selanjutnya, panggil function yang baru kita buat tadi di controller kamu, biasanya di index atau terserah di mana posisi function tersebut akan kamu panggil. kalo saya kayak gini :

Untuk menjalankannya, kamu cuma perlu manggil $kodeunik di text field kamu. Kalo aku kayak gini gan :

Hasilnya di aku kayak gini gaann :

DONE!!!
That is it. If you have any question jangan sungkan bertanya di kolom komentar. 

NB : Kamu juga bisa berkreasi dengan susunan huruf lain. Sudah saya sertakan penjelasannya di codenya.

*salem anget*

6 comments:
Write comments
  1. Dataku seperti ini:

    db->insert('tb_request_dokter', $data);
    }

    function update($id_request_dokter, $data){
    $this->db->where('requestdokterid', $id_request_dokter);
    $this->db->update('tb_request_dokter', $data);
    }

    function delete($id_request_dokter) {
    $this->db->where('requestdokterid', $id_request_dokterid_request_dokter);
    $this->db->delete('tb_request_dokter');
    }

    function get_list_all(){
    $this->db->select('id_request_dokter,request,status, ms_staff.n_staff_id, doc_req_code');
    $this->db->join('ms_staff', 'ms_staff.n_staff_id = tb_request_dokter.n_staff_id');
    $this->db->limit(10,1);
    $query = $this->db->get('tb_request_dokter');
    if ($query->num_rows() > 0) {
    return $query->result_array();
    }
    }

    public function buat_kode() {
    $this->db->select('RIGHT(tb_request_dokter.doc_req_code,4) as kode', FALSE);
    $this->db->order_by('doc_req_code','DESC');
    $this->db->limit(1);
    $query = $this->db->get('tb_request_dokter'); //cek dulu apakah ada sudah ada kode di tabel.
    if($query->num_rows() <> 0){
    //jika kode ternyata sudah ada.
    $data = $query->row();
    $kode = intval($data->kode) + 1;
    }
    else {
    //jika kode belum ada
    $kode = 1;
    }
    $kodemax = str_pad($kode, 4, "0", STR_PAD_LEFT); // angka 4 menunjukkan jumlah digit angka 0
    $kodejadi = "ODJ-9921-".$kodemax; // hasilnya ODJ-9921-0001 dst.
    return $kodejadi;
    }
    }


    dan muncul error :


    A PHP Error was encountered

    Severity: Warning

    Message: pg_query(): Query failed: ERROR: function right(character varying, integer) does not exist HINT: No function matches the given name and argument types. You may need to add explicit type casts.

    Filename: postgre/postgre_driver.php

    Line Number: 242

    Backtrace:

    File: /var/www/html/requestdokter/application/models/Requestdokter_model.php
    Line: 42
    Function: get

    File: /var/www/html/requestdokter/application/controllers/Requestdokter.php
    Line: 22
    Function: buat_kode

    File: /var/www/html/requestdokter/index.php
    Line: 315
    Function: require_once

    Gimana ya?? Mohon bantuannya

    ReplyDelete
  2. bagaimana jika jadi
    001/C/I/2020
    001 nomor
    C kode unit
    I bulan
    2020 tahun
    untuk unit itu setiap ganti user yang buat maka kode unit berubah, itu bagaimana min?

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. assalamualaikum bang saya mau bertanya terkait database saya yg error brgkali bang anggar bsa menyelesaikan .. . jd selalu tampil tulisan spr ini



    A PHP Error was encountered
    Severity: Warning

    Message: pg_query(): Query failed: ERROR: invalid input syntax for integer: ""

    Filename: postgre/postgre_driver.php

    Line Number: 242

    Backtrace:

    File: /var/www/html/emispendis/emis_pai/application/controllers/Ptk_rekap.php
    Line: 241
    Function: get_where

    File: /var/www/html/emispendis/emis_pai/index.php
    Line: 315
    Function: require_once

    A Database Error Occurred
    Error Number:

    ERROR: invalid input syntax for integer: ""

    SELECT "nomor_sk", "tanggal_sk", "tmt", "a"."m_golongan_id", "m_tugas_id", "a"."m_instansi_pembina_id", "gaji_pokok", "m_rp_tunjangan_fung", "m_rp_tunjangan_prof", "b"."nama" "golongan", "c"."nama" "instansi", "d"."nama" "jabatan" FROM "ptk_riwayat_pegawai" "a" LEFT JOIN "m_golongan_sk" "b" ON "b"."m_golongan_sk_id"=CAST(a.m_golongan_id AS INT) LEFT JOIN "m_instansi_pembina" "c" ON "c"."m_instansi_pembina_id"=CAST(a.m_instansi_pembina_id AS INT) LEFT JOIN "m_gpai_jabatan" "d" ON "d"."m_was_jabatan_id"=CAST(a.m_tugas_id AS INT) WHERE "ptk_uuid" = '75c07411-94c5-48e0-883e-d4096b9ac15c' ORDER BY SUBSTR(tmt, 7, 4)::INT DESC LIMIT 1

    Filename: controllers/Ptk_rekap.php

    Line Number: 241

    ReplyDelete