Bagaimana Cara mengapus banyak data dengan checkbox - Ajax Jquery - PHP - Mysql

Antefer.web.id
0 Comments

 

Pada kesempatan ini saya akan membahas bagaimana cara menghapus data pada tabel MySQL, menggunakan checkbox, PHP, JQuery.

Pertama-tama kita buat terlebih dahulu tabel MySQL, dengan struktur sebagai berikut :

  CREATE TABLE `item_hapusmultipledata` (
  `item_id` int(11) NOT NULL,
  `item_nama` varchar(250) NOT NULL,
  `item_kode` varchar(250) NOT NULL,
  `item_deskripsi` text NOT NULL,
  `item_harga` varchar(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;


Kemudian input data-data ke dalam tabel MySQL, pada contoh tutorial kali ini kita menggunakan data-data sebagai berikut :

  CREATE TABLE `item_tambahmultipledata` (
  `item_id` int(11) NOT NULL,
  `item_nama` varchar(250) NOT NULL,
  `item_kode` varchar(250) NOT NULL,
  `item_deskripsi` text NOT NULL,
  `item_harga` varchar(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;


Untuk membuat tampilan halaman depan untuk menampilkan interfacenay sebagai berikut :

<?php
$connect = mysqli_connect("DB-HOSTNAME", "DB-USERNAME", "DB-PASSWORD", "DB-NAME");
$query = "SELECT * FROM item_hapusmultipledata";
$result = mysqli_query($connect, $query);
?>
<!DOCTYPE html>
<html>
 <head>
  <title>Hapus banyak data dengan checkbox - Ajax Jquery - PHP - Mysql</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
  
  <style>
   .box
   {
    width:600px;
    background:green;
    color:white;
    margin:0 auto;
    padding:10px;
    text-align:center;
   }

  </style>
 </head>
 <body>
  <div class="container">
   <br />
   <h3 align="center">Hapus banyak data dengan checkbox - Ajax Jquery - PHP - Mysql</h3><br />
   <div id="notifikasi"></div><br/><br />
   
   <h3 align="center">DATA BARANG</h3><br />   
   <?php
   if(mysqli_num_rows($result) > 0)
   {
   ?>
   <div class="table-responsive">
    <table class="table table-bordered">
     <tr>
      <th>Nama Barang</th>
      <th>Kode</th>
      <th>Deskripsi</th>
      <th>Harga</th>
      <th><input type="checkbox" id="cek_semua" /> Cek Semua</th>
     </tr>
   <?php
    while($row = mysqli_fetch_array($result))
    {
   ?>
     <tr id="<?php echo $row["item_id"]; ?>" >
      <td><?php echo $row["item_nama"]; ?></td>
      <td><?php echo $row["item_kode"]; ?></td>
      <td><?php echo $row["item_deskripsi"]; ?></td>
      <td><?php echo $row["item_harga"]; ?></td>
      <td><input type="checkbox" name="item_id[]" class="hapus_barang" value="<?php echo $row["item_id"]; ?>" /></td>
     </tr>
   <?php
    }
   ?>
    </table>
   </div>
   <?php
   }
   ?>
   <div align="Left">
    <button type="button" name="btn_delete" id="btn_delete" class="btn btn-success">Hapus</button>
   </div>
 </body>
</html>

<script>
$(document).ready(function(){
 $('#notifikasi').hide();

 $('#btn_delete').click(function(){
  
  if(confirm("Are you sure you want to delete this?"))
  {
   var id = [];
   
   $(':checkbox:checked').each(function(i){
    id[i] = $(this).val();
   });
   
   if(id.length === 0) //tell you if the array is empty
   {
    alert("Please Select atleast one checkbox");
   }
   else
   {
    $.ajax({
     url:'hapus.php',
     method:'POST',
     data:{id:id},
     success:function()
     {
      for(var i=0; i<id.length; i++)
      {
          $('#cek_semua').prop('checked',false);
          $(".box").remove();
          $("#notifikasi").append('<div class="box">Data berhasil dihapus</div>');
          $('#notifikasi').show();        
          $('#notifikasi').delay(3000).fadeOut('slow');
          $('tr#'+id[i]+'').remove();
      }
     }
     
    });
   }
   
  }
  else
  {
   return false;
  }
 });
 
 $('#cek_semua').click(function () {
    $('.hapus_barang').prop('checked',this.checked);
 });

 $('.hapus_barang').click(function () {
  if ($('.hapus_barang:checked').length == $('.hapus_barang').length){
     $('#cek_semua').prop('checked',true);
  }
   else {
      $('#cek_semua').prop('checked',false);
   }
 }); 
 
});
</script>


Untuk proses menghapus data, kita akan membuat sebuah file PHP, dan diberi nama , hapus.php

<?php
$connect = mysqli_connect("DB-HOSTNAME", "DB-USERNAME", "DB-PASSWORD", "DB-NAME");

if(isset($_POST["id"]))
{
 foreach($_POST["id"] as $id)
 {
  $query = "DELETE FROM item_hapusmultipledata WHERE item_id = '".$id."'";
  mysqli_query($connect, $query);
 }

}
?>

Pada demo saya sertakan tombol "KEMBALIKAN DATA" untuk mengembalikan data-data default dan tidak ada dalam script yang didownload, silahkan modifikasi sendiri ya...

Setelah selesai bisa di coba programnya, untuk demo silahkan klik di bawah ini :

Posting Komentar

0Komentar

Posting Komentar (0)

#buttons=(Ok, Go it!) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Ok, Go it!