Simple Multiple Delete dengan PHP dan MySQL. Kali ini saya buat tutorial bagaimana caranya untuk menghapus banyak data sekaligus dengan memilih data dahulu dengan checkbox. Ini adalah request dari member yang ada di group facebook Pemrograman Web.
Seperti pada judul artikel ini, tutorial ini akan membuat bagaimana sih caranya bisa menghapus banyak data sekaligus, tetapi data yang di hapus bisa dipilih dahulu dengan adanya checkbox disana. Seperti biasa tentu saja menggunakan PHP dan database MySQL.
Kalau belum paham coba lihat gambar dibawah ini;
Yuk langsung saja.
Seperti biasa buat dulu Databasenya, disini saya buat database dengan nama tutorialweb, kemudian dumping script SQL di bawah ini untuk mendapatkan table dan data. yang dibutuhkan.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
DROP TABLE IF EXISTS `multiple_delete`; CREATE TABLE `multiple_delete` ( `id` int(4) NOT NULL auto_increment, `nama_depan` varchar(65) NOT NULL default '', `nama_belakang` varchar(65) NOT NULL default '', `email` varchar(65) NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; |
Nah, dari script di atas itu akan didapatkan sebuah table dengan nama multiple_delete dan beberapa field dan data yang sudah dimasukkan.
Selanjutnya kita buat sebuah file dengan nama koneksi.php, file ini berisi script PHP untuk menentukan detail koneksi ke Database, dan berikut ini scriptnya;
1 2 3 4 5 6 7 8 9 10 11 |
<?php $host="localhost"; //Host name $username="root"; //Mysql username $password="root"; //Mysql password $db_name="tutorialweb"; //Database name $tbl_name="multiple_delete"; //Table name //melakukan koneksi ke database. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); ?> |
Silahkan ganti detail koneksinya dengan database anda. Dan jangan lupa disimpan 😀
Sekarang buat lagi sebuah file PHP dengan nama index.php, file ini nantinya berisi script untuk menampilkan tabel data, dan juga proses untuk melakukan multiple delete, dibawah ini scriptnya.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
<!DOCTYPE> <html> <head> <title>Simple Multiple Delete by TutorialWeb.net</title> </head> <body> <h2>Simple Multiple Delete by TutorialWeb.net</h2> <table width="400" border="0" cellspacing="1" cellpadding="0"> <tr> <td> <form name="form1" method="post" action=""> <table width="500" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC"> <tr> <td align="center" bgcolor="#FFFFFF">#</td> <td align="center" bgcolor="#FFFFFF"><strong>Id</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>Nama Depan</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>Nama Belakang</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>Email</strong></td> </tr> <?php include("koneksi.php"); //memasukkan file koneksi.php $sql="SELECT * FROM $tbl_name ORDER BY id ASC"; //select tabel di database $result=mysql_query($sql); //query dari perintah SQL diatas $count=mysql_num_rows($result); //menghitung jumlah baris dari query diatas while($rows=mysql_fetch_array($result)){ //melakukan perulangan while dan menampilkan data dari database echo ' <tr> <td align="center" bgcolor="#FFFFFF"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="'.$rows['id'].'"></td> <td bgcolor="#FFFFFF">'.$rows['id'].'</td> <td bgcolor="#FFFFFF">'.$rows['nama_depan'].'</td> <td bgcolor="#FFFFFF">'.$rows['nama_belakang'].'</td> <td bgcolor="#FFFFFF">'.$rows['email'].'</td> </tr> '; } ?> <tr> <td colspan="5" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit" id="delete" value="Delete" onclick="return confirm('Yakin?');"></td> </tr> </table> </form> </td> </tr> </table> <?php //cek apakah tombol delete diklik if($delete){ $jml = count($_POST['checkbox']); //menghitung berapa data yang dicentang if($jml > 0){ //jika ada data yang dicentang for($i=0;$i<$count;$i++){ //melakukan perulangan for $del_id = $checkbox[$i]; //mengambil id dari tiap-tiap data yang dicentang $sql = "DELETE FROM $tbl_name WHERE id='$del_id'"; //query delete $result = mysql_query($sql); //menjalankan query delete diatas } if($result){ //jika data berhasil dihapus echo '<script language="javascript">alert("Berhasil menghapus '.$jml.' data"); </script>'; }else{ //jika gagal menghapus data echo 'Gagal'; } }else{ //jika tidak ada yang dicentang echo 'Pilih data yang ingin dihapus!'; } } ?> </body> </html> |
Beberapa baris script di atas sudah diberi keterangan untuk memudahkan pemahaman.
Yang perlu diperhatikan adalah pada line/baris ke 30, yaitu ada sebuah input dengan type checkbox dan diberi name checkbox[], checkbox ini dijadikan Array agar bisa diproses pada script baris ke 53-57.
Udah jadi deh, silahkan dicoba ya para sobat 😀
Oh ya, saya menggunakan Server AppServ untuk menjalankan Localhot, jika Anda menggunakan XAMPP mungkin akan menemukan ERROR. Jadi silahkan coba install AppServ :D.
Oke, semoga dapat dijadikan ilmu yang berguna buat temen-temen semua. Kalau ada yang gak paham silahkan komentar, dan jangan lupa untuk gabung di group facebook Pemrogram Web.
tanya gan,
for($i=0;$i<$count;$i++){ //melakukan perulangan for
$del_id = $checkbox[$i]; //mengambil id dari tiap-tiap data yang dicentang
$sql = "DELETE FROM $tbl_name WHERE id='$del_id'"; //query delete
$result = mysql_query($sql); //menjalankan query delete diatas
}
$checkbox didapat dari mana gan?
itu dari input type checkbox.
makasih gan, keren banget ni
:rate
okelah kalau begitu gan, bermanfaat banget pelajaran ini
pak guru ni web bagus banget knp ga di kasi iklan adsense?
hanya hoby gan.. jadi gak kepikiran buat kasih adsence..
mungkin besok2 deh…
Kalo checkbox nya ga di centang trus klik hapus muncul eror gan
undifine checkbox…….
minta tolong pencerahanya…………
kasih ‘@’ di depan $_POST checkbox
0){
for ($i=0; $i<$banyaknya; $i++){$sql =mysql_query("DELETE FROM dt_administrator WHERE iduser='$id[$i]'");}
if($sql){echo 'alert(“Berhasil menghapus ‘.$jml.’ data”); document.location=”http://localhost/Sistem_informasi_akademik/administrator/view/data_adm.php”;’;}
else{ //jika gagal menghapus data
echo ‘alert(“Gagal menghapus data”); document.location=”http://localhost/Sistem_informasi_akademik/administrator/view/data_adm.php”;’;
}
}else{ //jika tidak ada yang dicentang
echo ‘alert(“Pilih data yang akan di hapus !”); document.location=”http://localhost/Sistem_informasi_akademik/administrator/view/data_adm.php”;’;
}
}
?>
Saya bikin bgitu gan,,,lancar kao checkbox ada yang di pilih tp kalo ga ada yang di pilih muncul eror,,undefine,,,,bingung nih apa salah koding nya ya…
ini file nya di pisah gan,,,trus saya coba di satuin juga tetep gak bisa
eh jadi berantaakn yak kodingnya hihihih
udah ketemu gan thanks,,,,,nanti saya mampir lagi
gan, yang diatas pake appserv atau xampp? saya pake xampp, ada yang perlu dirubah kah?
saya pakek appserv,
silahkan coba dulu, kalau gk ada error ya gk masalah.
kalau multi delete tanpa form , gimana min?
Saya mau tanya. Saya nyoba tapi keluar begini:
http://tinypic.com/m/iz5opd/3
Itu artinya variabel “$delete” belum dikenali kan? Saya cek2 source code dari web ini, ternyata variabel “$delete” memang tidak dideklarasikan. Jadi asal-usul variabel “$delete” ini darimana?
http://tinypic.com/m/iz5oqx/3
Mohon pencerahannya secepatnya. Pala saya udah ucinggg…. :hammer
mas, saya sudah coba tapi kenapa undefined checkbox ya mas? padahal sudah saya centang checkboxnya… cmn disini filenya saya pisah mas yg html saya phpnya lembar kerja sendiri…
tambahkan kode ini di baris paling atas
untuk mengabaikan errornya
Menarik, kalau multiple file upload dengan checkbox punya pengalaman mas? saya coba belum bisa.
dengan checkbox gimana? saya kurang jelas 🙂