Jumat, 04 November 2011

Sintak Multiple Delete Record dengan checkbox

mungkin ada yang bertanya-tanya, gimana sih mendelete multiple record pada database MySQL. Gimana caranya ??!!
Dari situlah artikel ini berawal. Sebelumnya saya telah menemui kasus seperti itu, nah dari pada ilmu saya jadi basi, lebih baik saya tulis tutorial ini, iya gak ??!! :D
Langsung saja ke intinya, bentar lagi mau buka puasa. :D Sebelum mendelete record, langkah awalnya adalah membuat database itu sendiri, berikut saya sediakan databasenya :

create database contohdelete ;
use contohdelete;
create table tabledelete (id int(5) primary key auto_increment, nama varchar(50), jabatan varchar(20), kegantengan int(2));
insert into tabledelete values(”,’Loka Dwiartara’,'Admin 2′,’8′);
insert into tabledelete values(”,’Anggi Jatrasmara’,'Admin 1′,’5′);
insert into tabledelete values(”,’Johan Felisitas’,'Admin 3′,’4′);
Langkah selanjutnya adalah script untuk menampilkan database yang akan dihapus :D.
Script lengkapnya seperti ini :
<?php
/*  view.php */
$host = “localhost”;
$username = “root”;
$password = “”;
$database = “contohdelete”;
$koneksi = mysql_connect($host, $username, $password);
mysql_select_db($database, $koneksi) or die(“MysQL Error”);
$perintah = “select * from tabledelete”;
$jalankanperintah = mysql_query($perintah);
?>
<html><body>
<form action=”delete.php” method=”POST”>
<?php
print “Nama | Jabatan | Tingkat Kegantengan :D <br>”;
while ($hasil = mysql_fetch_array($jalankanperintah))
{
print “<input type=checkbox name=hapus[] id=hapus value=$hasil[id]>$hasil[nama] | $hasil[jabatan] | $hasil[kegantengan]<br>”;
}
?>
<input type=”submit” name=”hapusdong” value=”Hapus !!” id=”hapusdong”>
</form>
</body></html>
Script tersebut cukup familiar, oleh karena itu saya hanya menjelaskan sedikit saja.
Kalimat …
print “<input type=checkbox name=hapus[] id=hapus value=$hasil[id]>$hasil[nama] | $hasil[jabatan] | $hasil[kegantengan]<br>”;
sengaja saya gunakan name-nya hapus[ ] karena berbentuk array. Dan ini adalah inti yang menjembatani record database bisa di hapus.
Dan selanjutnya script untuk menghapus recordnya :
<?php
/* delete.php */
$host = “localhost”;
$username = “root”;
$password = “”;
$database = “contohdelete”;
$koneksi = mysql_connect($host, $username, $password);
mysql_select_db($database, $koneksi) or die(“MysQL Error”);
$id = $_POST[hapus];
$banyaknya = count($id);
if($_POST['hapusdong'])
{
for ($i=0; $i<$banyaknya; $i++)
{
$perintahdelete = “delete from tabledelete where id=$id[$i]“;
$jalankanperintahdelete = mysql_query($perintahdelete);
}
if ($jalankanperintahdelete)
{
print “Record berhasil didelete<br>”;
print “<a href=view.php>Klik disini untuk kembali</a>”;
}
}
?>
Di script ini pun saya akan menjelaskan sedikit, yaitu pada kalimat
$banyaknya = count($id);
if($_POST['hapusdong'])
{
for ($i=0; $i<$banyaknya; $i++)
{
$perintahdelete = “delete from tabledelete where id=$id[$i]“;
$jalankanperintahdelete = mysql_query($perintahdelete);
}
if ($jalankanperintahdelete)
{
print “Record berhasil didelete<br>”;
print “<a href=view.php>Klik disini untuk kembali</a>”;
}
}
terdapat argumen $banyaknya = count($id); berguna untuk menghitung berapa banyak record yang dipilih untuk di hapus.
ketika view.php menge-post variable $_POST['hapusdong'], yang berasal dari button submit, maka akan dilakukan looping untuk mendelete record sebanyak checkbox id yang dipilih. Dalam hal ini nilai dari banyaknya checkbox yang dipilih terdapat pada variable $banyaknya.
Yuup, mungkin itu sedikit penjelasan dari saya, mengenai penggunaan checkbox sebagai acuan untuk melakukan delete yang berulang-ulang.
Wassalam.

Artikel Terkait di Bawah posting

0 comments:

Posting Komentar