Codeigniter Max Id Atau Arahan Otomatis

Codeigniter Max Id Atau Arahan Otomatis
Codeigniter Max Id Atau Arahan Otomatis
Max id otomatis untuk data instruksi ibarat instruksi mahasiswa atau dosen, produk, buku dan lainnya. Lalu bagaimana cara menciptakan instruksi otomatis memakai codeigniter.
Didalam database ibarat data mahasiswa atau data produk kalau ingin menciptakan instruksi otomatis dan diambil dari instruksi yang tertinggi dikala penyimpanan terakhir kemudian ditambah beberapa instruksi lain ibarat Untuk instruksi mahasiswa : MHS/2014/0001 ataupun ibarat instruksi data dosen ibarat DSN/2014/001 jadi ketika input data gres maka otomatis akan mendapat instruksi gres sebagai instruksi untuk data mahasiswa atau dosen.
Untuk keterangan instruksi didapat dari kependekan mahasiswa yaitu MHS 2014 untuk tahun dan 0001 yaitu nomor mahasiswa begitu juga untuk dosen.
Berikut langkah langkah untuk menciptakan Max Id / Kode memakai Codeigniter dan sekaligus untuk panduan menciptakan ibarat :

  • controller untuk max id atau kode, 
  • controller input / tambah
  • controller edit / koreksi
  • controller delete / hapus
  • controller pagination / halaman (jika data lebih dari 10 maka otomatis menciptakan halaman berikutnya
Lakukan langkah berikut dan klarifikasi error yang muncul dan cara mengatasi semua error yang muncul tersebut ketika melaksanakan langkah-langkah tersebut  :

Langkah Pertama

Download codeigniter saya memakai codeigniter 2.2.0 dan extract di localhost supaya sanggup diakses dengan nama sesuai yang diinginkan referensi buat folder "mahasiswa"

Langkah Kedua

Buat database dengan nama db_mahasiswa
CREATE TABLE IF NOT EXISTS `mahasiswa` ( `id` int(11) NOT NULL,   `kode_mahasiswa` varchar(15) NOT NULL,   `nama_mahasiswa` varchar(250) NOT NULL ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ; 

Langkah Ketiga

Buat file controller dengan nama c_mahasiswa.php didalam aplikasi beri nama didalam folder application\controllers\dan isinya sebagai berikut:

<?php  class C_mahasiswa extends CI_Controller{    public function __construct(){   parent::__construct();      $this->load->model('m_mahasiswa');  }    public function index(){   redirect('c_mahasiswa/tambah_mahasiswa');  }     //MODUL MAHASISWA     public function tambah_mahasiswa(){   if($this->uri->segment(3)==""){    $offset=0;   }else{    $offset=$this->uri->segment(3);   }   $limit = 5;    $data['mahasiswa'] = $this->m_mahasiswa->getAllMahasiswa($offset, $limit);   $data['count'] = $this->m_mahasiswa->getAllMahasiswa_count();    $config = array();   $config['base_url'] = base_url(). 'c_mahasiswa/tambah_mahasiswa/';   $config['per_page'] = $limit;   $config['uri_segment'] = 3;   $config['num_links'] = 5;     $config['first_tag_open'] = '<li>';   $config['first_link'] = 'First';   $config['first_tag_close'] = '</li>';   $config['prev_link'] = 'Prev';   $config['prev_tag_open'] = '<li>';   $config['prev_tag_close'] = '</li>';   $config['cur_tag_open'] = '<li class="active"><a href>';   $config['cur_tag_close'] = '</a></li>';   $config['next_link'] = 'Next';   $config['next_tag_open'] = '<li>';   $config['next_tag_close'] = '</li>';   $config['num_tag_open'] = '<li>';   $config['num_tag_close'] = '</li>';   $config['last_tag_open'] = '<li>';   $config['last_link'] = 'Last';   $config['last_tag_close'] = '</li>';   $config['total_rows'] = $data['count'];   $this->pagination->initialize($config);   $this->session->set_userdata('row', $this->uri->segment(3));   $data['kode_mahasiswa'] = $this->m_mahasiswa->get_kode_mahasiswa();   $data['error'] = "";       $this->load->model('m_mahasiswa');     $this->load->view('admin/mahasiswa/tambah_mahasiswa', $data);  }      public function submit_tambah_mahasiswa(){    $this->form_validation->set_rules('nama_mahasiswa','Nama Mahasiswa', 'required|xss_clean|max_length[255]|trim|strip_tags');   if($this->form_validation->run() == TRUE){         $input_kode_mahasiswa = $this->input->post('kode_mahasiswa');       $input_nama_mahasiswa= $this->input->post('nama_mahasiswa');    $ganti = array("'");    $oleh = "&#039;";       $kode_mahasiswa = str_replace($ganti, $oleh, $input_kode_mahasiswa);    $nama_mahasiswa = str_replace($ganti, $oleh, $input_nama_mahasiswa);    $this->m_mahasiswa->inputMahasiswa($kode_mahasiswa, $nama_mahasiswa);        $this->session->set_flashdata('info', "Mahasiswa berhasil ditambahkan.");    redirect('c_mahasiswa/tambah_mahasiswa');   }else{    redirect('c_mahasiswa/tambah_mahasiswa');  }}      public function edit_mahasiswa($kode_mahasiswa){     $data['edit_mahasiswa'] = $this->m_mahasiswa->getEditMahasiswa($kode_mahasiswa)->row();   $data['judul'] = "Edit Mahasiswa | Mahasiswa";   $this->load->view('admin/mahasiswa/edit_mahasiswa', $data);  }    public function submit_edit_mahasiswa(){  $id = $this->input->post('kode_mahasiswa');   $this->form_validation->set_rules('nama_mahasiswa','Nama Mahasiswa', 'required|xss_clean|max_length[255]|trim|strip_tags');    $input_nama_mahasiswa= $this->input->post('nama_mahasiswa');    $ganti = array("'");    $oleh = "&#039;";       $nama_mahasiswa = str_replace($ganti, $oleh, $input_nama_mahasiswa);    $this->m_mahasiswa->updateMahasiswa($id, $nama_mahasiswa);    $this->session->set_flashdata('info', "Siswa berhasil diubah, gambar diubah.");    redirect('c_mahasiswa/tambah_mahasiswa');     }     public function hapus_mahasiswa($kode_mahasiswa){   $query = $this->m_mahasiswa->getEditMahasiswa($kode_mahasiswa)->row();         $this->m_mahasiswa->hapus_mahasiswa($kode_mahasiswa);   redirect('c_mahasiswa/tambah_mahasiswa');  }    //END MODUL MAHASISWA } 

Langkah keempat

Membuat file model dengan nama m_mahasiswa.php didalam folder application\models\dan berikut isinya:


<?php   class M_mahasiswa extends CI_Model{    public function __construct(){   parent::__construct();  }    // AWAL QUERY MAHASISWA    //BUAT MODEL MAX_KODE_MAHASISWA  public function get_kode_mahasiswa() {   $tahun = date("Y");   $kode = 'MHS';   $query = $this->db->query("SELECT MAX(kode_mahasiswa) as max_id FROM mahasiswa");    $row = $query->row_array();   $max_id = $row['max_id'];    $max_id1 =(int) substr($max_id,9,5);   $kode_mahasiswa = $max_id1 +1;   $maxkode_mahasiswa = $kode.'-'.$tahun.'-'.sprintf("%04s",$kode_mahasiswa);   return $maxkode_mahasiswa;  }    public function getAllMahasiswa($offset, $limit){   $query = $this->db->query("SELECT * FROM mahasiswa ORDER BY kode_mahasiswa DESC LIMIT $offset, $limit");   return $query;  }    public function getAllMahasiswa_count(){   $query = $this->db->query("    SELECT * FROM mahasiswa   ");   return $query->num_rows();  }    public function inputMahasiswa($kode_mahasiswa, $nama_mahasiswa){   $query = $this->db->query("INSERT INTO mahasiswa VALUES('', '$kode_mahasiswa', '$nama_mahasiswa')");  }                    public function getEditMahasiswa($kode_mahasiswa){   $query = $this->db->query("SELECT * FROM mahasiswa WHERE kode_mahasiswa = '$kode_mahasiswa'");    return $query;  }    public function updateMahasiswa($id, $nama_mahasiswa){   $query = $this->db->query("UPDATE mahasiswa           SET nama_mahasiswa = '$nama_mahasiswa' WHERE kode_mahasiswa = '$id'         ");  }    public function hapus_mahasiswa($id){   $this->db->query("DELETE FROM mahasiswa WHERE kode_mahasiswa = '$id' ");  }  //AKHIR QUERY MAHASISWA   } 

Langkah Kelima

Membuat file tambah_mahasiswa.php tempatkan didalam folder application\views\admin\mahasiswa\ buat folder admin kemudian buat folder mahasiswa didalam folder admin, dan isi file tambah_mahasiswa.php ibarat dibawah ini:

<!DOCTYPE html> <html lang="en"> <head>     <style>     body {   padding-top: 10px;   padding-left: 10px;   padding-right: 20px;   margin: 0;   font-family: "Helvetica";   font-size: 14px;   line-height: 18px;   color: #000000;   background-color: #ffffff;  }    .container,  .navbar-fixed-top .container,  .navbar-fixed-bottom .container {  width: 80%;  }   .table {   width: 80%;   margin-bottom: 18px;  }   .table th,  .table td {   padding: 8px;   line-height: 18px;   text-align: left;   vertical-align: top;   border-top: 1px solid #dddddd;  }   .table th {   font-weight: bold;  }   .table thead th {   vertical-align: bottom;  }    .table-bordered {   border: 1px solid #dddddd;   border-collapse: separate;   *border-collapse: collapsed;   border-top: 0;   border-left: 0;   -webkit-border-radius: 4px;   -moz-border-radius: 4px;         border-radius: 4px;  }   .table-bordered th,  .table-bordered td {  border-left: 1px solid #dddddd;  }   .table-striped tbody tr:nth-child(odd) td,  .table-striped tbody tr:nth-child(odd) th {  background-color: #f9f9f9;  }   .table tbody tr:hover td,  .table tbody tr:hover th {  background-color: #f5f5f5;  }    #Halaman   .pagination {   height: 36px;   margin: 18px 0;   }     .pagination ul {   display: inline-block;   }    .pagination li {   display: inline;   }    .pagination a {   padding: 10px 14px;   }    .pagination a:hover,   .pagination .active a {   background-color: #f0f0f0;   }        </style> </head> <body> <center>  <div class="container">    <h1>Tambah Mahasiswa</h1><br />              <div><!-- div well & form -->        <form class="form-horizontal" action="<?php echo base_url(); ?>c_mahasiswa/submit_tambah_mahasiswa" method="POST" enctype="multipart/form-data">        <fieldset>         <div><br />          <label>Kode Mahasiswa :</label>          <input name="kode_mahasiswa" readonly value="<?php echo $kode_mahasiswa; ?>">         </div><br />              <div>          <label>Nama Mahasiswa :</label>          <input name="nama_mahasiswa" type="text" value="<?php echo set_value('nama_mahasiswa'); ?>">         </div><br />                      <div class="form-actions"><!-- button action -->         <button type="submit" class="btn btn-primary">Simpan</button>         <button class="btn">Batal</button>        </div>        </fieldset>        </form>       </div>  </div>      <h3>Daftar Mahasiswa, diurutkan menurut Data Kode Mahasiswa Terakhir.</h3>   <h3>Semua Mahasiswa berjumlah sebanyak: <?php echo $count; ?> yang tersimpan.</h3>   <table class="table table-striped table-bordered">    <thead>     <th>No</th>     <th>Kode Mahasiswa</th>     <th>Nama Mahasiswa</th>     <th colspan="2">Aksi</th>    </thead>    <tr>     <?php $no=1;       foreach($mahasiswa->result() as $row){      ?>     <td><?php echo $this->session->userdata('row')+$no; ?></td>     <td><?php echo ucwords($row->kode_mahasiswa); ?></td>     <td><?php echo ucwords($row->nama_mahasiswa); ?></td>               <td border="0">      <a title="Codeigniter Max Id Atau Kode Otomatis" href="<?php echo base_url(); ?>c_mahasiswa/edit_mahasiswa/<?php echo $row->kode_mahasiswa; ?>">Edit</a>       |       <a href="#" onClick="if(confirm('Anda yakin HAPUS data ini? ')){document.location='<?php echo base_url()?>c_mahasiswa/hapus_mahasiswa/<?php echo $row->kode_mahasiswa; ?>'}" title="Codeigniter Max Id Atau Kode Otomatis" >Hapus</a>     </td>    </tr>     <?php       $no++;      }      ?>   </table>   <div class="pagination">    <ul>     <?php echo $this->pagination->create_links(); ?>    </ul>   </div>   <hr />   <div>    <div class="span2">    <footer>    <p>&copy; jepretcode 2014.</p>    </footer>    </div>   </div><br /> </center>   </body> </html> 

Langkah keenam

Buka file routes.php yang ada di dalam folder application\config\

$route['default_controller'] = "welcome"; mejadi $route['default_controller'] = "c_mahasiswa"; 

Coba lalukan pemanggilan dilocalhost apa yang terjadi?. Jika terjadi kesalahan "Fatal error: Call to undefined function redirect() in"  maka fungsi redirect tidak jalan sesuai dengan isi pada controller c_mahasiswa.php yaitu

redirect('c_mahasiswa/tambah_mahasiswa'); 

dan redirect lainnya yang ada didalam file controller c_mahasiswa.php, kemudian bagaimana cara mengatasi Fatal error: Call to undefined function redirect() in ? yaitu dengan cara:
  • Buka file autoload.php yang ada didalam folder application\config\
  • Rubah isi sesuai dengan yang dibawah ini
$autoload['helper'] = array();  Mejadi  $autoload['helper'] = array('url'); 
  • Coba ulang membuka atau refresh di localhost
  • Apa yang terjadi ?
Jika mendapati kesalahan "Fatal Error: Call to member funtion query() on a non-object in" dan pesan Message:Undefined property: C_mahasiswa::$db ibarat gambar dibawah ini:
 Max id otomatis untuk data instruksi ibarat instruksi mahasiswa atau dosen Codeigniter Max Id Atau Kode Otomatis

maksudnya yaitu adanya pesan error dari controller dari file c_mahasiswa.php ketika memanggil model m_mahasiswa.php tidak sanggup memanggil atau autoload database (alasannya alasannya yaitu database belum diconnectkan secara autoload) sesuai perintah model m_mahasiswa.php oleh alasannya yaitu itu ada pesan error Message: Undefined property: C_mahasiswa::$db. 
Lalu bagaimana cara mengatasi pesan A PHP Error was encountered ini, yaitu dengan cara menghubungkan database dengan membuka file autoload.php yang ada difolder application\config\ dan rubahlah sesuai keteranga dibawah ini:

$autoload['libraries'] = array();  Menjadi  $autoload['libraries'] = array('database'); 
  • Lakukan pemanggilan ulang di localhost dan kemudian apa yang terjadi?
  • Tentunya akan terjadi kesalahan lagi... (makin pusing aja) lihat gambar dibawah ini:
 Max id otomatis untuk data instruksi ibarat instruksi mahasiswa atau dosen Codeigniter Max Id Atau Kode Otomatis

Terjadi kesalahan "A Database Error Occured No database selected", hal ini terjadi alasannya yaitu kita belum mengisi database yang dipanggil oleh perintah autoload.php tadi yang meminta database.php, yang mana database.php belum diisi data atau nama file database yang kita buat sesuai langkah kedua yaitu db_mahasiswa, kemudian bagaimana cara mengatasi nya?
  • Buka file database.php yang ada didalam folder application\config\
  • rubah isinya sesuai dibawah ini
$db['default']['hostname'] = 'localhost'; $db['default']['username'] = ''; $db['default']['password'] = ''; $db['default']['database'] = '';  Menjadi  $db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'root';  //username localhost (sesuaikan dengan username localhost anda) $db['default']['password'] = 'mysql'; //password localhost (sesuaikan dengan password localhost anda) $db['default']['database'] = 'db_mahasiswa'; 

Lakukan langkah refresh ulang di localhost dan lihat apa yang terjadi, tentunya ada error A PHP Error was encountered dengan pesan Undefined property: C_mahasiswa::$pagination ibarat gambar dibawah ini:
 Max id otomatis untuk data instruksi ibarat instruksi mahasiswa atau dosen Codeigniter Max Id Atau Kode Otomatis

Hal ini terjadi alasannya yaitu didalam file controller c_mahasiswa.php kita memakai pagination untuk menampilkan data dari database supaya lebih gampang dilihat. mungkin sanggup dilihat isinya ibarat controller c_mahasiswa diatas atau lihat dibawah ini:

$this->pagination->initialize($config); 

Lalu bagaimana cara mengatasi pesan error Message: Undefined property: Controller::$pagination yang terjadi pada dikala langkah ini? berikut penjelasannya
  • Buka lagi file autoload.php ibarat langkah sebelumnya yang ada difolder application\config\
  • lalu tambahkan autoload pemanggilan file pagination.php yang ada didalam folder system\libraries\ dengan cara ibarat dibawah ini:
$autoload['libraries'] = array('database');   Menjadi   $autoload['libraries'] = array('database','pagination'); 

Langkah selanjutnya refresh lagi localhost kemudian apa yang terjadi, masih menemukan pesan error?. Message: Undefined property:C_mahasiswa::$session lihat gambar dibawah ini:

 Max id otomatis untuk data instruksi ibarat instruksi mahasiswa atau dosen Codeigniter Max Id Atau Kode Otomatis

Kenapa hal ini sanggup terjadi error, alasannya yaitu didalam controller c_mahasiswa.php memanggil file session.php yang ada didalam folder system\libraries\ ibarat isi yang ada didalam file c_mahasiswa.php diatas atau sanggup dilihat yang ibarat dibawah ini:

$this->session->set_userdata('row', $this->uri->segment(3)); 

Lalu bagaimana mengatasi pesan error "Message: Undefined property:C_mahasiswa::$session yang terjadi pada gambar diatas, yaitu sama dengan langkah sebelumnya berikut caranya:
  • membuka file autoload.php yang ada didalam folder application\confiq\
  • tambahkan autoload pemanggilan file session.php yang ada didalam folder system\libraries\ dengan cara ibarat dibawah ini
$autoload['libraries'] = array('database','pagination');  Menjadi  $autoload['libraries'] = array('database','pagination','session'); 


Langkah Selanjutnya refresh localhost lagi, kemudian lihat apa yang terjadi?. masih mendapati error in order to use the Session class you are required to set an encryption key in your confiq file,  lihat gambar dibawah :
 Max id otomatis untuk data instruksi ibarat instruksi mahasiswa atau dosen Codeigniter Max Id Atau Kode Otomatis

kenapa pesan error ini muncul? alasannya yaitu untuk memakai Session ibarat diatas maka kita diminta untuk mengatur atau mengisi encryption key yang ada didalam config.php, lihat cara mengatasi pesan error in order to use the Session class you are required to set an encription key in your config file ibarat dibawah ini:

$config['encryption_key'] = '';  Menjadi  $config['encryption_key'] = 'jepret0123456789code'; 

Untuk pengisian encryption _key silahkan cari wacana cara mengisi instruksi ibarat diatas

Langkah selanjutnya refresh localhost lagi dan lihat apa yang terjadi?. Apakah masih belum tampil ?. apakah hanya tampil ibarat gambar berikut:

 Max id otomatis untuk data instruksi ibarat instruksi mahasiswa atau dosen Codeigniter Max Id Atau Kode Otomatis

Kalau dilihat gambar diatas maka semua ibarat form, html, tabel dan lainnya belum tampil? Lalu bagaimana cara supaya tampilannya sesuai yang kita inginkan ibarat isi yang sesuai dengan tambah_mahasiswa.php ibarat langkah kelima diatas. alasannya yaitu kalau diperhatikan isinya ada form pengisian ibarat nama_mahasiswa dan tampilan tabel seluruh data mahasiswa belum tampil. kemudian bagaimana cara mengatasi tampilan tabel form dan html tidak tampil ini, berikut caranya:
  • Buka lagi file autoload.php didalam folder application\config\
  • Tambahkan instruksi ibarat dibawah ini
$autoload['helper'] = array('url',);  Menjadi  $autoload['helper'] = array('url','file','html','form'); 


Silahkan dilihat dan dirasakan (hehehe pakai perasaan ni yee) apakah tampilannya sudah ibarat gambar dibawah ini?. Jika sudah maka Anda sudah sukses melaksanakan langkah demi langkah dan mengetahui kesalahan-kesalahan didalam codeigniter dan cara mengatasi kesalahan-kesalahan yang terjadi dan logika langkah ini sanggup diterapkan untuk melaksanakan project lain yang memakai codeigniter.

 Max id otomatis untuk data instruksi ibarat instruksi mahasiswa atau dosen Codeigniter Max Id Atau Kode Otomatis

Tunggu dulu jangan bahagia dulu alasannya yaitu tampilannya tampaknya ok... coba deh diinput data baru?. Apakah terjadi kesalahan Not Found - 404 The requested was not found on this server. apakah muncul pesan ibarat itu?. kalau iya kenapa dan bagaimana mengatasinya?. Berikut keterangannya:
  • Kenapa muncul Not Found - 404? alasannya yaitu ketika input data dan memanggil function submit_tambah_mahasiswa yang ada didalam controller c_mahasiswa meminta redirect ke : "http://localhost/mahasiswa/c_mahasiswa/submit_tambah_mahasiswa" sementara default url kita memakai index.php ibarat http://localhost/index.php/c_mahasiswa/submit_tambah_mahasiswa tentu tidak akan jalan.
redirect('c_mahasiswa/tambah_mahasiswa'); 
  • Lalu bagaimana cara mengatasinya?. lakukan langkah berikut
Bagaimana Cara Menghilangkan index.php di codeigniter
  • Buka confiq.php yang ada difolder application\confiq\
  • Sesuaikan ibarat dibawah ini
$config['index_page'] = 'index.php';  Menjadi  $config['index_page'] = ''; 
  • Buat file .htaccess yang ada didalam folder utama dalam hal ini "mahasiswa"
  • Isi file ibarat referensi dibawah ini.
<IfModule mod_rewrite.c>   RewriteEngine on   RewriteCond %{REQUEST_FILENAME} !-f   RewriteCond %{REQUEST_FILENAME} !-d   RewriteRule ^(.*)$ index.php/?$1 [L] </IfModule> 
  • Coba dilihat lagi atau di refresh localhost nya.
  • Apakah masih ada kesalahan?
  • Tentu akan keluar pesan error Message: Undefined property: C_mahasiswa::$form_validation
Kenapa keluar pesan Message: Undefined property: Controller::$form_validation ini?. alasannya yaitu didalam controller c_mahasiswa.php meminta menjalankan Form_validation.php yang ada di folder system\libraries\ dengan perintah ibarat dibawah ini yang ada didalam controller c_mahasiswa.php

$this->form_validation->set_rules('nama_mahasiswa','Nama Mahasiswa', 'required|xss_clean|max_length[255]|trim|strip_tags'); 

Lalu bagaimana cara mengatasi error Message: Undefined property: Controller::$form_validation ini?. Berikut caranya:

  • Buka lagi file autoload.php yang ada didalam application\config\
  • Lalu isi sesuai ibarat instruksi dibawah ini
$autoload['libraries'] = array('database','pagination','session');  Menjadi  $autoload['libraries'] = array('database','pagination','session','form_validation'); 

Berikut video tutorial menciptakan max id otomatis dengan codeigniter


Bagaimana? apakah sudah jalan semua. kalau sudah berarti sudah komplit deh caranya. selamat menikmati.
Senang bila dishare kalau memang bermanfaat untuk anda dan yang lainnya.

Sumber http://jepretcode.blogspot.com/