Fungsi update ini sangat penting di dalam sebuah website, karena tidak mungkin kita menghapus data yang lama dan melakukan insert terhadap data yang baru hanya karena kesalahan inputan. Oleh karenanya, dibutuhkan fungsi update database yang dapat mengedit data sehingga tidak perlu untuk menghapus data yang telah disimpan sebelumnya.
Nb: Jika ingin melihat seluruh tutorial Codeigniter anda dapat mengunjungi tutorial membuat web dengan Codeigniter.
Update Database dengan Codeigniter
Seperti biasa saya akan menulisakan urutan source cara membuat fungsi update database dengan codeigniter ini secara berurutan dari controller, model, dan views.Jika anda telah membaca tutorial sebelumnya, yaitu membuat fungsi delete record database, sebenarnya konsep yang ada tidak berbeda jauh.
Controller
Fungsi di dalam controller ini cukup banyak, karena kita harus menampilkan data yang ada di dalam database, kemudian memberikan fungsi untuk update, dan terakhir membuat fungsi untuk menyimpan update tersebut.user_controller.php
<?phpclass User_controller extends CI_Controller{ function __Construct() { parent ::__construct(); } function user() { $this->load->model('user_model'); $data['judul'] = 'Daftar User'; $data['daftar_user'] = $this->user_model->get_user_all(); $this->load->view('daftar_user', $data); } function edit_user($id_user) { $data['judul']='Update Data User'; $this->load->model('user_model'); $data['edit']=$this->user_model->edit_user($id_user); $this->load->view('edit_user', $data); } function simpan_edit_user() { $id_user = $this->input->post('id_user'); $nama_lengkap = $this->input->post('nama_lengkap'); $username = $this->input->post('username'); $password = $this->input->post('password'); $email = $this->input->post('email'); $alamat = $this->input->post('alamat'); $data['judul'] = 'Update Data Codeigniter'; $this->load->model('user_model'); $data['edit'] = $this->user_model->simpan_edit_user($id_user, $nama_lengkap, $username, $password, $email, $alamat); $data['notifikasi'] = 'Data telah berhasil disimpan'; $this->load->view('notifikasi', $data); }}Model
Sama seperti controller, fungsi di dalam model juga cukup banyak, tetapi saya rasa tidak perlu untuk menjelaskannya satu persatu. Anda dapat memahaminya dengan membaca nama fungsinya.user_model.php
<?phpclass User_model extends CI_Model{ function get_user_all() { $query=$this->db->query("SELECT * FROM user ORDER BY id_user DESC"); return $query->result(); } function edit_user($id_user) { $q="SELECT * FROM user WHERE id_user='$id_user'"; $query=$this->db->query($q); return $query->row(); } function simpan_edit_user($id_user, $nama_lengkap, $username, $password, $email, $alamat) { $data = array( 'id_user' => $id_user, 'nama_lengkap' => $nama_lengkap, 'username' => $username, 'password' => $password, 'email' => $email, 'alamat' => $alamat ); $this->db->where('id_user', $id_user); $this->db->update('user', $data); }}Views
Di dalam views ini terdapat dua halaman view, yang pertama adalah untuk menampilkan halaman awal, kemudian yang kedua digunakan untuk melakukan edit data, dan terakhir adalah notifikasi bahwa data berhasil disimpan.Views yang pertama adalah daftar_user.php yang digunakan untuk menampilkan seluruh data yang ada di dalam database.
daftar_user.php
<html><head> <title><?php echo $judul; ?></title></head><body> <h1>Daftar User</h1> <table border="1"> <thead> <tr> <th>Nama Lengkap</th> <th>Username</th> <th>Email</th> <th>Alamat</th> <th>Action</th> </tr> </thead> <tbody> <?php foreach($daftar_user as $user){ ?> <tr> <td><?php echo $user->nama_lengkap; ?></td> <td><?php echo $user->username; ?></td> <td><?php echo $user->email; ?></td> <td><?php echo $user->alamat; ?></td> <td><?php echo '<a href="'.base_url().'index.php/user_controller/edit_user/'.$user->id_user.'">Edit</a>'?></td> </tr> <?php } ?> </tbody> <tfoot> <tr> <th>Nama Lengkap</th> <th>Username</th> <th>Email</th> <th>Alamat</th> <th>Action</th> </tr> </tfoot> </table></body></html>Views yang kedua adalah edit_user.php yang digunakan untuk mengedit inputan record yang telah tersimpan di dalam database.edit_user.php<html> <head> <title><?php echo $judul; ?></title> </head> <body> <h1>Update Data User</h1> <?php $att = array('id' => 'biodata-form'); echo form_open('user_controller/simpan_edit_user', $att); echo form_hidden('id_user',$edit->id_user); ?> <table> <tr> <td>Nama Lengkap</td> <td><input type="text" name="nama_lengkap" value="<?php echo $edit->nama_lengkap; ?>"/></td> </tr> <tr> <td>Username</td> <td><input type="text" name="username" value="<?php echo $edit->username; ?>"/></td> </tr> <tr> <td>Password</td> <td><input type="password" name="password" value="<?php echo $edit->password; ?>"/></td> </tr> </tr> <td>Email</td> <td><input type="text" name="email" value="<?php echo $edit->email; ?>"/></td> </tr> <tr> <td>Alamat</td> <td><textarea name="alamat" style="height: 80px;"><?php echo $edit->alamat; ?></textarea></td> <tr> <td></td> <td><input type="submit" value="Simpan"/></td> </tr> </table> </form> </body></html>notifikasi.php
<html><head> <title><?php echo $judul; ?></title></head><body> <p><?php echo $notifikasi; ?></p></body></html>


Tidak ada komentar:
Posting Komentar