Crud Upload Image Codeigniter, Update

Halo sobat koding, berjumjpa kembali dengan saya pada tips dan trik seputar dunia website. Pada artikel sebelumnya kita sudah membuat fitur upoad image, kemudian kita juga menampilkan hasilnya dan juga membuat delete image. Teman – teman bisa cek di Crud Upload Image Codeigniter, Upload, Delete silahkan di praktekkan jika belum, dan kali ini kita akan melanjutkan tips Crud Upload Image Codeigniter, Update dimana dalam proses update gambar sedikit berbeda yaitu kita buat halaman detail image nya dan tampilkan pada halaman detail kemudian kita berikan fungsi update untuk user jika ingin update.

Baiklah langsung saja kita buat fitur updatenya, kita buat metod di dalam controller/Upload_gambar.php dengan nama edit() yang sudah kita setting pada button edit

Crud Upload Image Codeigniter, Update

Crud Upload Image Codeigniter, Update

Ketikkan script di bawah ini untuk menampilkan detailnya

public function edit($id){
            $title = $this->input->post('title');
            $data['detail'] = $this->db->get_where('upload',['id' => $id])->row();
            $this->load->view('detail_upload',$data);
        }

Kemudian kita buat file di views/detail_upload.php untuk menampilkan detailnya dan kita tampilkan pada form inputnya

<div class="row">
	<div class="col">
		<h2>Crud Upload Image Codeigniter, Update</h2>
		<?php echo form_open_multipart('upload_gambar/update/'.$detail->id);?>
			<div class="form-group">
		      <label for="title">Title:</label>
		      <input type="text" class="form-control" id="title" value="<?php echo $detail->title ?>" placeholder="Enter email" name="title" required>
		    </div>
		    <div class="form-group">
		      <label for="userfile">Image:</label>
		      <input type="file" id="userfile" placeholder="Enter password" name="userfile" required>
		      <input type="hidden" name="id" value="<?php echo $detail->id ?>">
		    </div>
		    <div>
		    	<img class="img-thumbnail" src='<?php echo base_url() ?>gambar/<?php echo $detail->image ?>'>
		    </div>
		    <input type="submit" value="update" class="btn btn-primary" />
		<a href="<?= site_url('upload_gambar') ?>" class="btn btn-info">Kembali</a>
		</form>
	</div>
</div>
Jika sudah save dan jalankan pada browsernya dan klik button edit, maka akan menampilkan detail datanya
Crud Upload Image Codeigniter, Update
Kemudian kita buat 1 metod lagi untuk proses update gambar nya yang sudah kita setting action form pada detail_upload.php
Crud Upload Image Codeigniter, Update
Kita buat metod update dan ketikkan scriptnya seperti di bawah ini
public function update()
        {
            $id = $this->input->post('id');
            $_image = $this->db->get_where('upload',['id' => $id])->row();
            $config['upload_path']          = './gambar/';
            $config['allowed_types']        = 'gif|jpg|png';
            $config['max_size']             = 0;
            $config['max_width']            = 0;
            $config['max_height']           = 0;
            $this->load->library('upload', $config);
            if (!$this->upload->do_upload('userfile')){
                echo 'gagal update';
            }
            else{
                $_data = array('upload_data' => $this->upload->data());
                 $data = array(
                    'title'=> $this->input->post('title'),
                    'image' => $_data['upload_data']['file_name']
                    );
                $query = $this->db->update('upload', $data, array('id' => $id));;
                if($query){
                    unlink("gambar/".$_image->image);
                }
                redirect('upload_gambar');
            }
        }
Pada variabel $id menampung data dari input type=”hidden” yang kita berikan id dari detailmya kemudian lakukan ambil data berdasarkan id nya, dan buat fungsi upload gambarnya sama seperti kita insert data. Lakukan pengecekan, jika berhasil kita update image nya dengan $this->db->update() dan kita tampung pada variabel $query selanjutnya lakukan pengecekan lagi, jika data berhasil di update maka kita hilangkan gambar yang sebelumnya kita update dengan fungsi unlink() dengan begitu image lama akan di hapus dan di gantikan image yang baru kita update.
Crud Upload Image Codeigniter, Update
Nah itulah tips tentang Crud Upload Image Codeigniter, Update tentu kita berjumpa kembali pada artikel yang akan datang. Teman – teman bisa di kembangkan lagi untuk fitur upload imagenya ya, mungkin bisa di kembangkan lagi untuk upload multiple 🙂
Terimakasih dan sampai jumpa.

Hernowo Author

Leave a Reply

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