Please enable JavaScript!
Bitte aktiviere JavaScript!
S'il vous plaît activer JavaScript!
Por favor,activa el JavaScript!
antiblock.org

 |  |  | 
Anda ingin membuat website?
Untuk Anda yang sedang mencari orang untuk jasa pembuatan website, Saya akan bantu buatkan aplikasi sesuai kebutuhan Anda. Segera hubungi : mail@rizaldimaulidia.com. Selengkapnya tentang profil saya klik www.rizaldimaulidia.com.

PHP Tips and Trick

Cara Membuat Multiple Delete dengan Checkbox menggunakan PHP

img-responsive

Apa sebenarnya keuntungan dari fitur “Multiple Delete”? keuntungan dengan menyediakan fitur ini yakni agar memudahkan user yang menggunakan aplikasi kita untuk menghapus lebih dari 1 data dalam sekali aksi artinya fitur ini akan sangat berguna ketika user akan menghapus banyak data. Akan cukup merepotkan juga ketika dalam aplikasi hanya disediakan fitur hapus per 1 data, sementara user diharuskan menghapus banyak data. Untuk catatan kali ini, saya akan berbagi kepada Anda semua tentang bagaimana membuat fitur tersebut dengan menggunakan PHP dan MySQL.

DEMO
Sebelum masuk ke tutorialnya. Mungkin ada yang mau lihat demonya terlebih dahulu. Silahkan klik link berikut untuk melihat demonya : Lihat Demo.


STEP 1 – PERSIAPAN
Berikut ini adalah hal-hal yang harus dipersiapkan :

  1. Download JQUERY, klik link berikut : Download.
  2. Buat sebuah folder baru dengan nama multiple_delete, lalu simpan pada folder xampp/htdocs/.
  3. Buat sebuah folder dengan nama js, lalu simpan pada folder xampp/htdocs/search_ajax/.
  4. Rename file JQUERY yang telah di download tadi menjadi jquery.min.js, lalu copy and paste pada folder xampp/htdocs/multiple_delete/js/.


STEP 2 – DATABASE
Pada step ini, kita akan membuat databasenya. ikuti langkah-langkah berikut ini :

  1. Buat sebuah database dengan nama mynotescode.
  2. Buat sebuah tabel dengan nama siswa. Struktur tabelnya sebagai berikut :
    Struktur Tabel - Cara Membuat Multiple Delete dengan Checkbox menggunakan PHP

    CREATE TABLE IF NOT EXISTS `siswa` (
      `nis` varchar(11) NOT NULL,
      `nama` varchar(50) NOT NULL,
      `jenis_kelamin` varchar(10) NOT NULL,
      `telp` varchar(15) NOT NULL,
      `alamat` text NOT NULL,
      PRIMARY KEY (`nis`)
    )

STEP 3 – KONEKSI DATABASE
Pada step ini, kita akan membuat file koneksi.php yang berfungsi untuk menghubungkan dengan database MySQL. Silahkan buat file koneksi.php, lalu simpan di folder xampp/htdocs/multiple_delete/. Berikut ini kodenya :

<?php
$host = 'localhost'; // Nama hostnya
$username = 'root'; // Username
$password = ''; // Password (Isi jika menggunakan password)
$database = 'mynotescode'; // Nama databasenya

// Koneksi ke MySQL dengan PDO
$pdo = new PDO('mysql:host='.$host.';dbname='.$database, $username, $password);
?>

STEP 4 – FORM
Langkah selanjutnya adalah membuat 1 buah file yang berisi sebuah form untuk melakukan proses hapus data. Buat sebuah file dengan nama index.php, lalu simpan pada folder xampp/htdocs/multiple_delete/. Berikut tampilan dan kodenya :

Form - Cara Membuat Multiple Delete dengan Checkbox menggunakan PHP

<html>
<head>
  <title>Multiple Delete</title>
  
  <!-- Load librari/plugin jquery nya -->
  <script src="js/jquery.min.js"></script> 
</head>
<body>
  <h1>Multiple Delete</h1>
  
  <form method="post" action="delete.php" id="form-delete">
    <table border="1" cellpadding="5">
      <tr>
        <th><input type="checkbox" id="check-all"></th>
        <th>NIS</th>
        <th>Nama</th>
        <th>Telepon</th>
        <th>Alamat</th>
      </tr>
      <?php
      // Load file koneksi.php
      include "koneksi.php";
      
      // Buat query untuk menampilkan semua data siswa
      $sql = $pdo->prepare("SELECT * FROM siswa");
      $sql->execute(); // Eksekusi querynya
      
      $no = 1; // Untuk penomoran tabel, di awal set dengan 1
      while($data = $sql->fetch()){ // Ambil semua data dari hasil eksekusi $sql
        echo "<tr>";
        echo "<td><input type='checkbox' class='check-item' name='nis[]' value='".$data['nis']."'></td>";
        echo "<td>".$data['nis']."</td>";
        echo "<td>".$data['nama']."</td>";
        echo "<td>".$data['telp']."</td>";
        echo "<td>".$data['alamat']."</td>";
        echo "</tr>";
        
        $no++; // Tambah 1 setiap kali looping
      }
      ?>
    </table>
    <hr>
    <button type="button" id="btn-delete">DELETE</button>
  </form>
  
  <script>
  $(document).ready(function(){ // Ketika halaman sudah siap (sudah selesai di load)
    $("#check-all").click(function(){ // Ketika user men-cek checkbox all
      if($(this).is(":checked")) // Jika checkbox all diceklis
        $(".check-item").prop("checked", true); // ceklis semua checkbox siswa dengan class "check-item"
      else // Jika checkbox all tidak diceklis
        $(".check-item").prop("checked", false); // un-ceklis semua checkbox siswa dengan class "check-item"
    });
    
    $("#btn-delete").click(function(){ // Ketika user mengklik tombol delete
      var confirm = window.confirm("Apakah Anda yakin ingin menghapus data-data ini?"); // Buat sebuah alert konfirmasi
      
      if(confirm) // Jika user mengklik tombol "Ok"
        $("#form-delete").submit(); // Submit form
    });
  });
  </script>
</body>
</html>

Untuk fitur multiple delete yang akan kita buat ini, konsepnya adalah dengan memanfaatkan checkbox. Checkbox ini berguna untuk agar user bisa memilih data mana saja yang akan dia hapus. Jadi kita akan melakukan hapus data terhadap data siswa yang user ceklis saja.

echo “<td><input type=’checkbox’ class=’check-item’ name=’nis[]‘ value='”.$data[‘nis’].”‘></td>”;
Kunci utama dari multiple delete ini adalah atribut name pada checkbox siswa nya. Pada kode diatas, terlihat saya memberi atribut checkbox nya dengan “nis[]” dan diisi dengan value dari nis siswa tersebut. Arti dari kurung siku disitu adalah agar ketika kita kirim data nis tadi ke file proses hapus melalui form submit, data nis tersebut menjadi sebuah array yang berisi nis siswa yang telah di pilih oleh user. Kalau kita coba lihat isi dari data nis tersebut, hasilnya akan seperti gambar dibawah ini :

Array - Cara Membuat Multiple Delete dengan Checkbox menggunakan PHP

Gambar diatas merupakan hasil dari kode print_r($_POST); pada file proses hapus (akan kita buat pada step selanjutnya). Untuk melihat data apa saja yang dikirim dari form. Terlihat bahwa terdapat data nis yang berisi nis-nis yang berjumlah 5 nis (karena di form saya ceklis 5 siswa).


STEP 5 – PROSES HAPUS
Selanjutnya akan membuat proses hapusnya. Buat sebuah file dengan nama delete.php, lalu simpan pada folder xampp/htdocs/multiple_delete/. Berikut ini kodenya :

<?php
// Load file koneksi.php
include "koneksi.php";

$nis = $_POST['nis']; // Ambil data NIS yang dikirim oleh index.php melalui form submit
$query = "DELETE FROM siswa WHERE nis IN('".implode(",", $nis)."')"; // Buat variabel $query untuk menampung query delete

$sql = $pdo->prepare($query);
$sql->execute(); // Eksekusi/Jalankan query dari variabel $query

header("location: index.php"); // Redirect ke halaman index.php
?>

Pada proses hapus disini, kita akan coba menyatukan data nis (berupa array) menjadi sebuah string dengan tanda pemisah koma “,”. Caranya yakni dengan menggunakan fungsi implode() di php. Struktur dasara fungsi implode adalah :

implode ( string $glue , array $pieces )

Jadi parameter pertama diisi dengan string pemisah nya apa. Parameter kedua diisi dengan array yang akan kita satukan dengan pemisah yang ditentukan di parameter pertama. Gambar berikut ini menunjukan array data nis dan hasil dari fungsi implode yang di lakukan terhadap array data nis tadi :

Array - Cara Membuat Multiple Delete dengan Checkbox menggunakan PHP

Gambar 1 : Array Data NIS

Implode - Cara Membuat Multiple Delete dengan Checkbox menggunakan PHP

Gambar 2 : Hasil Implode terhadap array data NIS

Dapat Anda lihat dari kedua gambar diatas, hasil dari fungsi implode berisi data nis dengan pemisah koma antar nis nya. Setelah mendapatkan data nis dengan pemisah koma, kita akan lakkukan query delete dengan where clause “IN”. Contoh :
DELETE FROM siswa WHERE nis IN (10110470116,10110470118,10110470119,10110470121,10110470122)

Nanti otomatis mysql akan menghapus data siswa dengan nis yang ada pada tanda kurung ().


Sekian untuk catatan kali ini. Semoga catatan ini bisa bermanfaat. Apabila ada yang ingin ditanyakan, langsung tanyakan saja lewat form komentar dibawah ini. Jangan lupa LIKE & SHARE nya hehe. Terimakasih.


SOURCE CODE
Untuk mengunduh source code nya, klik salah satu link dibawah ini
– Download versi PDO : Link download yang sesuai tutorial ini yakni menggunakan fungsi PDO untuk query ke databasenya
– Download versi MySQLi : Link download untuk Anda yang ingin source code versi MySQLi dari tutorial ini


SUMBER & REFERENSI
http://php.net/manual/en/language.types.array.php
http://php.net/manual/en/book.pdo.php
Tutorial membuat multiple delete dengan checkbox menggunakan php dan mysql, Tutorial membuat multiple delete data dengan checkbox menggunakan php jquery dan mysql, cara mudah membuat multiple delete dengan checkbox menggunakan php dan mysql. Source code multiple delete dengan checkbox menggunakan php dan mysqli.

Multiple Delete

(Total : 11,403 viewers, 7 viewers today)
multiple-delete-php-mysql

ABOUT THE AUTHOR

Interested in android programming, long time focused on web development. Visit My Profile Site at www.rizaldimaulidia.com

POST YOUR COMMENTS

Your email address will not be published. Required fields are marked *

Name *

Email *

Website

10 Comments

  1. M Yusuf Hanafi

    hanya muncul idnya yg di pilih saja tetapi tidak terhapus

    • M Yusuf Hanafi

      ada perbaikan sperti ini baru bisa
      $id = $_POST[‘id’];
      $id_user = implode(“‘,'”, $id);
      mysqli_query($mysqli, “DELETE FROM tbl_user WHERE id IN (‘”.$id_user.”‘)”);

      • oh iya mohon maaf, saya kurang kutip 1 di dalam kurung IN() nya. sudah saya update tutor nya. Terimakasih atas koreksinya

  2. codra-MNJ

    Aneh pas muncul windows.confirm nya, walaupun klik pilihan batal/cancel tapi tetap saja datanya kehapus. boleh dibantu? dan kalau datanya belum diceklis tidak ada peringatan, gmn yah

      • codra-MNJ

        Sudah bisa ternyata kak, kalo yg hapus data ada yg slah typenya. Tapi tutor ini ga ada warning kalo datanya belum d ceklis tuh, gimana yah?
        file php yg punya saya nya sudah di rombak tpi kak, sudah ga sama dengan di tutor. Trimakasih

  3. Anonymous

    permisi mau tanya , hasil fungsi implode sudah jalan . tapi data tetep gk bisa ke hapus kenapa ya . saya pakek php5

    terimakasih

NOTE ARCHIVES