Home » Codeigniter » Membuat Update dan Delete Menggunakan Codeigniter

Membuat Update dan Delete Menggunakan Codeigniter

Published by Ade Kurniawan on

Crud codeigniter berarti membuat file untuk melakukan proses create, read, update dan delete pada basis data yang diinginkan. Pada sebuah sistem informasi selalu dibutuhkan akses untuk memasukkan data, menampilkan data, melakukan update dan hapus data yang salah atau tidak diperlukan. ini biasa disebut dengan crud. Pada php native kita biasanya membuat form kemudian membuat proses dan mengeksekusi query untuk melakukan aksi. Tidak jauh berbeda dengan php native pada codeigniter juga demikian hanya saja cara dan langkah pembuatannya harus disesuaikan dengan konsep MVP.  Untuk update dibutuhkan function update dan proses update pada controller dan kemudian diperlukan sebuah model yang berisi fungsi untuk perintah mengelola database.

Membuat Update dan Delete Menggunakan Codeigniter

Pada pembuatan update delete ini sebaiknya di cobakan terlebih dahulu membuat insert atau create dan read seperti yang telah dibuat pada postingan sebelumnya  crud simple menampilkan dan insert data ke database menggunakan codeigniter selanjutnya setelah selesai baru dilanjutkan dengan membuat update dan delete  menggunakan pada codeigniter.
Untuk membuat update dan delete pada codeigniter silahkan ikuti langkah dan buat file sebagai berikut :
1. Membuat update dengan codeigniter
Hal yang dibutuhkan untuk membuat update adalah kita harus membuat beberapa function pada conroller.
Pada controller berita yang sudah kita buat sebelumnya tambahkan function berikut :
Berita.php (Pada Controller)

public function update_berita($id_berita){
         $this->load->view('templates/header');
         $this->load->view('templates/menu');
         $where = array('id_berita' => $id_berita);
         $data['updateberita'] = $this->berita_model->
         get_berita_id($where,'berita')->result();
         $this->load->view('update_berita',$data);    
         $this->load->view('templates/script');
         $this->load->view('templates/footer');

}


public function proses_update(){        
         $id_berita = $this->input->post('id_berita');
         $judul_berita = $this->input->post('judul_berita');
         $detail_berita = $this->input->post('detail_berita');
         $data =  array('judul_berita' => $judul_berita, 
                       'detail_berita' => $detail_berita, 
         );
         $where= array('id_berita' => $id_berita );
          $this->berita_model->input_update($where,$data,'berita');
          redirect('berita');
         }

Pada controller update di atas kita melakukan load terhadap halaman view update_berita dengan memanggil form update_berita tersebut kemudian setelah memiliki form dibutuhkan function untuk memproses saat ingin menyimpan update yang telah dilakuan disini digunakan function proses_update dengan menggunakan perintah $where seperti pada query biasanya. kita akan update berita dimana idnya adalah $id_berita.
View untuk menampilkan halaman update berita;
update_berita.php (Pada view)

<!-- Page Content -->
  <div class="container">


   <div class="row">


     <!-- Post Content Column -->
      <div class="col-lg-8">


       <!-- Title -->
        <h1 class="mt-4">Update Berita</h1>


       <hr>


       <div  style="height: 400px">
      <?php foreach ($updateberita as $key) { ?>           
      <form action="<?php echo base_url(). 'berita/proses_update'; ?>" 
         method="post">
        <input type="text" name="id_berita" value="<?php echo $key->id_berita ?>" 
           hidden>
            <div class="form-group">  
                <label>Judul Berita :</label>
                <input size="80" type="text" name="judul_berita" 
                 value="<?php echo $key->judul_berita ?>">
            </div>
            <div class="form-group">
                <label> Detail Berita :</label>
                <textarea rows="6" cols="60" name="detail_berita" 
                   value=""><?php echo $key->detail_berita ?></textarea></br>
            </div>
            <div class="form-group">
                <input type="submit" value="Simpan" name="">
            </div>
        </form> 
        <?php
          }
         ?>


       </div>
      </div>


   </div>
    <!-- /.row -->


</div>
  <!-- /.container -->

Selanjutnya pada model silahkan ditambahkan function get_berita_id untuk menampilkan berita dengan id yang telah dipilih. Penggunaan input_update dignunakan untuk melanjutkan proses update pada controlle dan dimasukkan ke database dimana id yang update telah dipilih dan dimasakkuan datanya melalui variable $data ke $table.
Berita _model.php

 
function get_berita_id($where,$table){
        return $this->db->get_where($table,$where);
    }

    function input_update($where,$data,$table){
        $this->db->where($where);
        $this->db->update($table,$data);
    }


2. Membuat delete dengan codeigniter
Untuk membuat delete dibutuhkan function dlelet sebagai berikut:
script function delete pada controller

public function delete_berita($id_berita){
         $this->berita_model->hapus_berita($id_berita);
         redirect('berita');
     }

function tersebut dijalankan dari sebuah link delete pada halaman view dengan membuat script <a href sebagai berikut:

<a href="<?php echo site_url("berita/delete_berita/". $key->id_berita);?>"

onclick="return confirm('Hapus data?');">Delete</a>

hal terakhir yang harus kita buat adalah model function delete karena kita membuat delete ini dengan mengakses database tentu dibutuhkan sebuah function untuk melakukan perintah hapus ke database;
berikut adalah script yang harus ditambahkan pada model

function hapus_berita($id_berita){
     $this->db->where('id_berita',$id_berita);
     $this->db->delete('berita');
return true;
}

Untuk melakukan delete kita juga membutuhkan function hapus_berita pada model. disini masih digunakan model Berita_model. Silahkan tambahkan function pada Berita_model untuk  melakukan proses hapus sebagai berikut:
Berita _model.php

 
function hapus_berita($id_berita){
        $this->db->where('id_berita',$id_berita);
        $this->db->delete('berita');
    return true;
    }



0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *