Haii sahabat tutorial-webdesign.com, dalam tutorial kali ini saya akan membahas tentang bagaimana cara membuat Multiple Delete Dengan CodeIgniter, Jika kalian sering memakai wordpress pasti sahabat akan tahu, karena wordpress menerapkan hal ini di sistem mereka.
Pertama siapkan folder codeigniter kalian berinama
delete_multiple, Disini saya asumsikan sahabat sudah tau bagaimana cara
setting awal CodeIgniterseperti config.php, autoload.php dll, database.php. kita akan memakai Controller welcome.php defaultnya Codeigniter atau setidaknya sudah mengikuti
tutorial dasar penggunaan Codeigniter.
Selanjutnya buat database codeigniter_crud, buat table siswa seperti ketentuan dibawah ini berikut sqlnya :
--
-- Database: `codeigniter_crud`
--
-- --------------------------------------------------------
--
-- Table structure for table `siswa`
--
CREATE TABLE IF NOT EXISTS `siswa` (
`nis` bigint(11) NOT NULL,
`nama` varchar(30) NOT NULL,
`jurusan` varchar(10) NOT NULL,
`alamat` text NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=998765336 DEFAULT CHARSET=latin1;
--
-- Dumping data for table `siswa`
--
INSERT INTO `siswa` (`nis`, `nama`, `jurusan`, `alamat`) VALUES
(998765122, 'Yusuf Hamdani', 'RPL', 'Jln. Cipaku Haji Rt.02/07 No.15 Kel.Cipaku Kec.Bogor Selatan'),
(998765335, 'Rahmayanti', 'Multimedia', 'Jln. Muarasari, Kel.Gunung Batu Kec.Bogor Barat');
--
-- Indexes for dumped tables
--
codeigniter_crud.sql
Buka Controller welcome.php kemudian edit seperti dibawah ini :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Welcome extends CI_Controller {
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see http://codeigniter.com/user_guide/general/urls.html
*/
public function index()
{
$this->load->model('msiswa');
$data['hasilsiswa'] = $this->msiswa->ambildata();
$this->load->view('index', $data);
}
function delete_multiple() {
$this->load->model('msiswa');
$this->msiswa->remove_checked_siswa();
redirect('welcome/index');
}
}
/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */
welcome.php
Buat file baru di folder Models berimana msiswa.php :
<?php
class Msiswa extends CI_Model {
function ambildata() {
$ambildata = $this->db->get('siswa');
if ($ambildata->num_rows() > 0) {
foreach ($ambildata->result() as $data) {
$hasilsiswa[] = $data;
}
return $hasilsiswa;
}
}
function remove_checked_siswa() {
$action = $this->input->post('action');
if ($action == "delete") {
$delete = $this->input->post('msg');
for ($i=0; $i < count($delete) ; $i++) {
$this->db->where('nis', $delete[$i]);
$this->db->delete('siswa');
}
}
}
}
?>
msiswa.php
Potongan gambar ini menjelaskan coding untuk menampilkan data yang ada didatabase codeigniter_crud table siswa :
Ini untuk proses saat data akan didelete :
Kemudian buat file baru didalam folder Views berinama index.php :
<!DOCTYPE html>
<html>
<head>
<title>AZZURA Media | Membuat Multiple Delete Dengan CodeIgniter</title>
<script type="text/javascript" src="<?php echo base_url(''); ?>assets/js/jquery-1.5.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("input[name='checkAll']").click(function() {
var checked = $(this).attr("checked");
$("#myTable tr td input:checkbox").attr("checked", checked);
});
});
</script>
</head>
<body>
<h1>Multiple Delete Dengan CodeIgniter</h1>
<form action="<?php echo site_url('welcome/delete_multiple'); ?>" method="post">
<select name="action">
<option value="null">Bulk Action</option>
<option value="delete">Delete</option>
</select>
<input type="submit" name="submit" value="Action">
<p></p>
<table border="1" id="myTable">
<thead>
<tr>
<th><input type="checkbox" id="checkAll" name="checkAll"></th>
<th>NIS</th>
<th>Nama</th>
<th>Jurusan</th>
<th>Alamat</th>
</tr>
</thead>
<tbody>
<?php
if (count($hasilsiswa)>0) {
foreach ($hasilsiswa as $data):
?>
<tr>
<td><input type="checkbox" name="msg[]" value="<?php echo $data->nis; ?>"></td>
<td><?php echo $data->nis; ?></td>
<td><?php echo $data->nama; ?></td>
<td><?php echo $data->jurusan; ?></td>
<td><?php echo $data->alamat; ?></td>
</tr>
<?php
endforeach;
}
else {
echo "<tr><td colspan=5>DATA KOSONG!!</td></tr>";
}
?>
</tbody>
</table>
</form>
</body>
</html>
index.php
Keterangan didalam file
index.php, Sahabat harus mendownload terlebih dahulu
JQuery Docs: Selectors/checked kemudian masukan script jquery untuk checkAll dibawah ini :
<script type="text/javascript">
$(document).ready(function() {
$("input[name='checkAll']").click(function() {
var checked = $(this).attr("checked");
$("#myTable tr td input:checkbox").attr("checked", checked);
});
});
</script>
Didalam potongan script table anda masukan id untuk memanggil fungsi javascript yang kita terapkan :
Berinama id checkbox seperti ini, dimaksudkan untuk memanggil fungsi javascript yang kita buat, saat checkbox diklik makan otomaris semua checkAll :
Untuk method post yang dikirimkan oleh input checkbox yang kita buat, kita berinama checkbox mgs[], untuk membuat array saat data akan dihapus, berikut potongan scriptnya :
Setelah selesai menyelesaikan semua pembahasan diatas, Sahabat bisa langsung coba program yang sahabat buat tadi, apabila sudah benar maka akan tampil seperti dibawah ini, jadi saat checkbox sebelah nis diklik makan data akan ter checkAll semua, dan untuk menghapus data Sahabat harus memilih Select Bulk Action diganti jadi pilihan Delete kemudian tekan tombol Action :
Oke, sekian Tutorial saya kali ini tentang Multiple Delete Dengan Codeigniter.
Semoga dapat menambah pengetahuan Sahabat :D :D
1 komentar:
Click here for komentarMakasih ya ilmunya, work di tempatku
Out Of Topic Show Konversi KodeHide Konversi Kode Show EmoticonHide Emoticon