Update Data Pada CodeIgniter

8 Oct 2018 11:10 1470 Hits 0 Comments
Bagaimana cara melakukan metode update pada CodeIgniter?

Sebelumnya sempat dibahas mengenai cara memasukkan data atau yang lebih kita kenal dengan sebutan insert data pada CodeIgniter. Pada kesempatan kali ini, akan dibahas kembali mengenai metode CRUD berikutnya, yaitu mengubah data, atau yang lebih kita kenal sebagai metode update.

Bagaimana cara melakukan metode update pada CodeIgniter?Berikut adalah pembahasannya.

Untuk dapat melakukan update data, buatlah sebuah routes khusus update data di file routes. Penulisan route update bisa dijelaskan sebagai berikut:

$route[‘nama_folder_bila_ada/file_update/(:any)'] = 'nama_folder_bila_ada/file_update/$1’;

Bilamana file update disimpan didalam sebuah folder, maka pada routes dideklarasikan beserta nama foldernya, baru setelah itu deklarasikan nama file updatenya. Jangan lupa juga, karena data yang akan diubah tidak seluruhnya, atau bersifat satuan, maka pada routes nya deklarasikan dengan klausa (:any) pada variabel route nya serta deklarasikan dengan $1 untuk mendeklarasikan data dari id yang mana yang akan diubah. Contoh penerapan route update sebagai berikut:

$route['news/update/(;any)'] = 'news/update/$1';

Setelah route update dibuat, buatlah sebuah tombol hyperlink pada halaman utama agar data yang kita pilih bisa muncul pada halaman update. Misalnya:

a href=<!--?php echo site_url(ânama_folder_bila_ada/file_updateâ.$variabel_yang_dideklarasikan_pada_halaman_utama[âidâ]) ?--> Edit.

Agar data yang dipilih bisa tersampaikan, maka gunakanlah site_url. Lalu, apa maksud dari variabel yang dideklarasikan pada halaman utama?Maksudnya adalah bilamana pada halaman utama data tersebut dideklarasikan dengan nama variabel menggunakan foreach, misalnya foreach($news as $news_item), maka variabel yang dideklarasikan nantinya adalah $news_item, karena variabel news sudah sama dengan news item sendiri.

Selain itu, ada juga array id, maksudnya adalah agar data yang dipilih sesuai dengan data yang akan diupdate.

Setelah tombol hyperlink dibuat, buatlah sebuah metode update pada controller yang telah dibuat sebelumnya. Untuk pendeklarasian metode update ini tidak jauh berbeda dengan metode insert, yang membedakan hanyalah data yang diedit tidak akan seluruhnya, sehingga dideklarasikan data yang akan diubah tersebut berdasarkan id. Penjelasan metode update dijelaskan sebagai berikut:

public function update($id){

    $this->load->helper('form');

    $this->load->library('form_validation');

    $this->form_validation->set_rules(‘nama_atribut_form', 'nama_label', 'required');

    if ($this->form_validation->run() == FALSE) {

      $data['variabel_halaman_utama'] = $this->nama_model->get…($id);

      $this->load->view('nama_folder_bila_ada/file_update, $data);

    }else{

      $this->nama_model->metode_update($id);

      redirect('halaman_utama');

    }

  }

Penjelasan:

Mengenai helper form dan library form validation sudah sempat dibahas pada artikel insert data, jadi kalian sudah mengetahui apa maksud dari helper dan library tersebut. Ada klausa yang ditulis tebal, apa maksudnya?Baris kode itulah yang menuntun agar data yang akan diupdate tidak seluruhnya, hanya bersifat data satuan atau data yang dipilih itu saja yang akan diubah.

Selain itu, untuk array variabel halaman utama, itu diambil dari data variabel news item tersebut. Sehingga, bila kalian mendeklarasikan variabel dengan nama instant, maka pada array variabel data pun dideklarasikan dengan variabel $data[‘instant’].

Apakah semua itu sudah bisa untuk mengubah data?Belum, pada bagian model yang dibuat pun belum dideklarasikan mengenai id mana yang akan diubah, dan cara mengupdate tersebut.

Pada variabel data tadi dijelaskan bahwa variabel data akan memuat metode untuk memanggil data yang diupdate tersebut berdasarkan id. Metode tersebut disimpan didalam file model dan dideklarasikan sebagai berikut:

public function get…($id = FALSE){

    $query = $this->db->get_where('nama_tabel_db’, array('id' => $id));

    return $query->row_array();

  }

Metode inilah yang akan membuat data yang kita pilih akan muncul pada halaman update, namun datanya hanya bersifat tampil saja, belum bisa kita ubah. Oleh karena itu, pada controller dibahas pada klausa else bahwa controller memanggil metode update untuk mengubah data. Nama metode update disesuaikan dengan kebutuhan kalian. Selain itu, isi dari metode update ini tidak jauh berbeda dengan metode insert pada model. Lalu, apa yang membedakan antara metode insert dan update?Penjelasannya sebagai berikut:

public function metode_update($id){

    $this->load->helper('url');

    $data = array(

      'kolom_pada_db' => $this->input->post('nama_artibut_form'),

    );

    $this->db->where('id', $id);

    return $this->db->update('nama_tabel_db', $data);

  }

 

Yang membedakannya hanyalah baris kode yang dicetak tebal diatas. Apa maksudnya?Baris kode tersebut digunakan agar data yang diubah hanyalah data yang kita pilih, dan bukan seluruhnya.

Lalu, pada file update sendiri patut diperhatikan. Untuk pada bagian action(bila kalian menggunakan tag form HTML) atau menggunakan metode form_open dari PHP, maka url yang dipilih adalah url yang sesuai dengan data yang diubah. Pendeklarasiannya dijelaskan sebagai berikut:

form action=’site_url(‘nama_folder_bila_ada/file_update’.$variabel_halaman_utama[‘id’])’

Itu adalah penggunaan untuk yang menggunakan tag form HTML. Berikut adalah bila menggunakan form open:

<!--?php echo form_open(ânama_folder_bila_ada/file_updateâ.$variabel_halaman_utama[âidâ]); ?-->

…

<!--?php echo form_close(); ?-->

Itulah pembahasan saya mengenai cara melakukan update data pada CodeIgniter. Semoga informasi ini dapat bermanfaat bagi kalian semua.
Tags

About The Author

Aldi Saepurahman-4 39
Ordinary

Aldi Saepurahman-4

My Coding My Adventure
Plimbi adalah tempat menulis untuk semua orang.
Yuk kirim juga tulisanmu sekarang
Submit Artikel