Belajar PHP MySQLi #6 : Konfirmasi Sebelum Hapus/Delete Data pada Database dengan PHP

Posted on

Belajar PHP MySQLi Hapus/Delete data pada Database,  Pada sesi belajar PHP kali ini kita akan membahas bagaimana cara menghapus/delete data pada database MySQLi dengan PHP serta lengkap dengan window konfirmasi saat akan menghapus sevuah data.

Saya sarankan silahkan baca dan ikuti sesi belajar PHP sebelumnya

  1. Mempersiapkan Local Server XAMPP, MAMP, LAMP,
  2. Membuat Database, Koneksi ke Database MySQLi dan MySQL
  3. Menampilkan Data & Detail Data dari Database pada Tabel Cara Menambahkan (Insert) Data Ke Database.
  4. Update Data dalam Database dengan PHP
Selanjutnya pada tahap ini, kita membutuhkan sebuah file baru dengan nama hapus.php yang nanti berguna untuk query ke database dan akan menghapus data pada database. Selain itu, untuk membuat sebuah jendela konfirmasi hapus data kita akan mengedit file index.php yang sudah dibuat sebelumnya.

Menghapus Data pada Database

Tambahkan baris code berikut didalam table pada file index.php

<a href='javascript:hapusData(".$data['id'].")'>Hapus Data</a>

Tambahkan juga code berikut didalam tag <head> atau <body> file index.php

    <script language="JavaScript" type="text/javascript">
function hapusData(id){
if (confirm("Apakah anda yakin akan menghapus data ini?")){
window.location.href = 'hapus.php?id=' + id;
}
}
</script>

Berikut source code file index.php setelah diedit.

index.php

<?php
// defenisikan koneksi
require('koneksi.php');
?>
<!DOCTYPE html>
<html lang="id" dir="ltr">
<head>
<title>kodeajaib[dot]com</title>
</head>
<body>
<h2>Selamat Datang di KodeAjaib.com</h2>
<h3>Tabel Biodata</h3>
<p><a href="tambah.php">Tambah Bioadata</a></p>
<?php
// query SQL menampilkan data dari table tbl_biodata
$sql = "SELECT * FROM tbl_biodata ORDER BY id DESC";
// tampung data (dalam array) kedalam variable $biodata
$biodata = mysqli_query($conn, $sql);
// variable untuk membuat tabel HTML
$strTbl = "";
$strTbl .= "<table border='1'>";
$strTbl .= "<tr>";
$strTbl .= "<th>No</th>";
$strTbl .= "<th>Nama</th>";
$strTbl .= "<th>Alamat</th>";
$strTbl .= "<th>Aksi</th>";
$strTbl .= "</tr>";
// variable nomor urut
$nomor = 1;
// cek apakah $biodata nilai kosong atau tidak
if (mysqli_num_rows($biodata) > 0) {
// jika ada looping untuk membaca seluruh data
// dan tampilkan kedalam tabel
while ($data = mysqli_fetch_assoc($biodata)) {
// tampilkan data kedalam table
$strTbl .= "<tr>";
$strTbl .= "<td>". $nomor."</td>";
$strTbl .= "<td>". $data['nama_depan'] ." ".$data['nama_belakang'] ."</td>";
$strTbl .= "<td>". $data['alamat'] ."</td>";
$strTbl .= "<td><a href='detail.php?id=".$data['id']."'>Lihat Detail</a>
<a href='update.php?id=".$data['id']."'>Edit</a>
<a href='javascript:hapusData(".$data['id'].")'>Hapus Data</a>
</td>";
$strTbl .= "</tr>";
$nomor++;
}
} else {
// jika data kosong, tampilkan pesan didalam tabel
$strTbl .="<tr><td colspan='4'>Ooouppsss... Maaf, data masih kosong, tambahkan data dari Database terlebih dahulu</td></tr>";
}
$strTbl .= "</table>";
// tampilkan tabel pada halaman
print($strTbl);
?>
<p>Copyright @ Localhost</p>
<script language="JavaScript" type="text/javascript">
function hapusData(id){
if (confirm("Apakah anda yakin akan menghapus data ini?")){
window.location.href = 'hapus.php?id=' + id;
}
}
</script>
</body>
</html>

hapus.php

Buatlah sebuah file baru dengan nama hapus.php, yang mana file ini akan berfungsi untuk menghapus data yang dipilih berdasarkan Id Biodata, dan tuliskan seluruh code berikut ini

<?php
// defenisikan koneksi
require('koneksi.php');
// cek apakah ada parameter ID dikirim
if (isset($_GET['id'])) {
// jika ada, ambil nilai id
$id = $_GET['id'];
// query SQL menghapus data berdasarkan id yg dipilih
$sql = "DELETE from tbl_biodata WHERE id='".$id."'";
// hapus data pada database
$query = mysqli_query($conn,$sql);
// cek apakah proses hapus data berhasil
if(mysqli_affected_rows($conn)) {
// jika berhasil, redirect kehalaman index.php
header("Location:index.php");
} else {
// jika tidak redirect juga kehalaman index.php
header("Location:index.php");
}
}
?>

Jika semuanya sudah selesai, silahkan akses kembali project anda pada alamat http://localhost/todo/index.php dan hapus salah satu data, kalau tidak error anda maka akan muncul jendela untuk mengkonfirmasi apakah anda akan menghapus data atau tidak, jika IYA maka akan menghapus data dari database, dan sebaliknya jika tidak maka tidak akan terjadi apa-apa.

Sesi belajar PHP dan Database MySQLi ini akan terus di Update, jangan sampai ketinggalan dengan cara berlangganan melalui Email dan Follow juga sosial media kode ajaib.

See you next lessons and happy coding ….

Leave a Reply

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