Pada kesempatan kali ini saya akan membahas mengenai codeigniter kembali, tutorial yang akan saya bahas yaitu bagaimana cara membuat multiple delete di codeigniter ? sebelumnya saya juga telah membahas mengenai tutorial codeigniter yaitu Cara membuat Bootstrap pagination di codeigniter dan Cara Menggunaka Bootstrap Datepicker 3 di codeigniter.
<?php
class Mdl_delete extends CI_Model {
/* function script untuk mengambil data dari database */
function get_data(){
$query = $this->db->get('table_mahasiswa');
return $query->result();
}
/* function script delete yang digunakan */
function delete_multiple($id) {
foreach($id as $hapus){
return $this->db->query("delete from content where id = '$hapus'");
}
}
}
?>
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Delete extends CI_Controller {
public function __Construct(){
parent ::__construct();
/* fungsi untuk menload model yang akan digunakan */
$this->load->model('mdl_delete');
}
public function index() {
$this->show();
}
/* Fungsi untuk menampiklan data */
public function show() {
$data['data'] = $this->mdl_delete->get_data();
$this->load->view('view_data',$data);
}
/* Fungsi untuk multiple delete yang digunakan */
function delete_multiple() {
$config = array(
array(
'field' => 'nim', /* Nama parameter dari checkbox */
'label' => 'Cek Box',
'rules' => 'required|xss_clean'
)
);
$this->form_validation->set_message('required','Cek bok Harus Dipilih');
$this->form_validation->set_rules($config);
/* Validasi untuk pengecekan jika tidak ada data yand dipilih */
if($this->form_validation->run() == FALSE){
$this->session->set_flashdata('warning',TRUE);
redirect('delete/'.$_POST['kode_nim'].''); /*kode nim diambil dari parameter textboxt yang ada pada view */
}else{
foreach($_POST['nim'] as $hapus){
$this->db->query("DELETE FROM `table_mahasiswa` WHERE `Nim` = '$hapus'"); /*Query untuk menghapus data*/
}
$this->session->set_flashdata('delete_sukses',TRUE);
redirect('delete/'.$_POST['kode_nim'].'');
}
}
}
?>
5. Dan terakhir kita buat untuk viewsnya, buat file php baru lalu berinama : view_data dan simpan
di folder application/views lalu masukan script dibawah.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Multiple Delete</title>
</head>
<body>
<h1>Multiple Delete dengan Codeigniter 2</h1>
<hr />
<?php
/* Script untuk menampilkan pesan */
if($this->session->flashdata('delete_sukses')){
echo '<div class="alert alert-success" style="color:green;"><h3>Data berhasil dihapus</h3></div>';
}elseif($this->session->flashdata('warning')){
echo '<div class="alert alert-warning" style="color:red;"><h3>Cek bok Harus Dipilih</h3></div>';
}
echo validation_errors('<div class="alert alert-warning"><a class="close" data-dismiss="alert">×</a>','</div>');
?>
<form id="form1" name="form1" method="post" action="<?php echo base_url()?>index.php/delete/delete_multiple">
<table width="600" border="1">
<tr>
<td>Pilih</td>
<td>Nim</td>
<td>Nama</td>
<td>Jurusan</td>
<td>Semester</td>
</tr>
<?php
/* Fungsi untuk menampilkan data dalam table */
foreach($data as $row):?>
<tr>
<td>
<input name="nim[]" type="checkbox" value="<?php echo $row->Nim?>" /> <!-- propery checkbox yang digunakan -->
<input name="kode_nim" type="hidden" value="<?php echo $this->uri->segment(3); ?>" /> <!-- Property textbox yang digunakan -->
</td>
<td><?php echo $row->Nim ?></td>
<td><?php echo $row->Nama ?></td>
<td><?php echo $row->Jurusan ?></td>
<td><?php echo $row->Semester ?></td>
</tr>
<?php endforeach ?>
</table>
<br />
<input name="Submit" type="submit" value="Hapus yang dipilih" /> <!-- Button yang digunakan untuk mengapus data -->
</form>
</body>
</html>