-->

Struktur Web

Tempatnya belajar pemrograman web, html, css, php, mysql.

21 March 2015

Simple Multiple Delete dengan PHP dan MySQL

loading...
Kali ini saya buat tutorial bagaimana caranya untuk menghapus banyak data sekaligus dengan memilih data dahulu dengan checkbox.
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 belajarweb, kemudian dumping script SQL di bawah ini untuk mendapatkan table dan data yang dibutuhkan.
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;
 
INSERT INTO multiple_delete VALUES (1, 'Firdaus', 'Putra', 'firdaus.classc@gmail.com');
INSERT INTO multiple_delete VALUES (2, 'irhas', 'Amrullah', 'irhas@yahoo.com');
INSERT INTO multiple_delete VALUES (3, 'Tedy', 'Sultoni', 'tedy@yahoo.com');
INSERT INTO multiple_delete VALUES (4, 'Mundzir', 'Masruri', 'mundzir.m99@gmail.com');

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:
<?php
$host="localhost";     //Host name
$username="root";     //Mysql username
$password="";     //Mysql password
$db_name="belajarweb";   //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.
<!DOCTYPE>
<html>
<head>
 <title>Simple Multiple Delete by Masterkode.blogspot.com</title>
</head>
<body>
 <h2>Simple Multiple Delete by Masterkode.blogspot.com</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"); document.location="index.php";</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...

Oke, semoga dapat dijadikan ilmu yang berguna buat temen-temen semua. Kalau ada yang gak paham silahkan komentar.
loading...
Author Profile

About Unknown

0 Komentar Simple Multiple Delete dengan PHP dan MySQL

Post a Comment

Back To Top