Membuat tombol hapus di php

Setelah mengikuti semua tutorial sebelumnya yaitu menampilkan, menginput dan mengubah data menggunakan MySQLi dan PHP. Berikut ialah tutorial menghapus data dengan MySQLi dan PHP. Untuk itu ikuti panduan berikut :

Daftar Isi

Langkah 1

Kembali ke file tampil.php, kita akan menambahkan tombol hapus di tabel daftar buku dan pengarang pada halaman tersebut. Untuk menambahkan tombol hapus, tambahkan kode di file tampil.php seperti berikut :

<table>
		<tbody>
			<tr>
				<th>Judul Buku</th>
			    <th>Nama Pengarang</th>
			    <th>Ubah Data</th>
			    <th>Hapus Data</th>
			</tr>
			<?php
			$sql= "SELECT id_buku, judul, pengarang FROM buku ORDER BY judul ASC";
			$hasil = $mysqli->query($sql);

			if($hasil === false) {
				trigger_error('Perintah SQL salah: ' . $sql . ' Error: ' . $mysqli->error, E_USER_ERROR);
			} else {
				while($data = $hasil->fetch_array()){
					echo "<tr>";
					echo "<td>$data[judul]</td>";
					echo "<td>$data[pengarang]</td>";
					echo "<td><a href=ubah.php?id_buku=$data[id_buku]>Ubah</a></td>"; // Menciptakan data id_buku yang mengarah ke file ubah.php
					echo "<td><a href=tampil.php?hapus=$data[id_buku]>Hapus</a></td>";
					echo "</tr>";
				}
			}
			?>
		</tbody>
	</table>

Langkah 2

Selanjutnya, kita akan menambahkan kode untuk mengahapus data menggunakan MySQLi dan PHP. Kode hapus akan kita tuliskan di bagian atas pada file tampil.php seperti berikut :

if(isset($_GET['hapus'])){
	$id_buku = $_GET['hapus'];
	if(!empty($id_buku)){
		$sql="DELETE FROM buku WHERE id_buku='$id_buku'";
		 
		if($mysqli->query($sql) === false) { // Jika gagal meng-hapus data tampilkan pesan dibawah 'Perintah SQL Salah'
		  trigger_error('Perintah SQL Salah: ' . $sql . ' Error: ' . $mysqli->error, E_USER_ERROR);
		} else { // Jika berhasil alihkan ke halaman tampil.php
		  header('location: tampil.php');
		}
	}
}

Nantinya kode pada file tampil.php akan seperti berikut :

<?php 
include('config.php');

if(isset($_GET['hapus'])){
	$id_buku = $_GET['hapus'];
	if(!empty($id_buku)){
		$sql="DELETE FROM buku WHERE id_buku='$id_buku'";
		 
		if($mysqli->query($sql) === false) { // Jika gagal meng-hapus data tampilkan pesan dibawah 'Perintah SQL Salah'
		  trigger_error('Perintah SQL Salah: ' . $sql . ' Error: ' . $mysqli->error, E_USER_ERROR);
		} else { // Jika berhasil alihkan ke halaman tampil.php
		  header('location: tampil.php');
		}
	}
}
?>
<!DOCTYPE html>
<html>
<head>
	<title>Menampilkan Data dengan MySQLi</title>
	<style>
		table {
		margin: 0 auto;
		border-collapse: collapse;	
		}

		tbody {
		color: #000;
		}

		table th, table td {
		padding: 5px 10px;
		border: 1px solid #000000;
		}

		table th {
		background: #CCC;
		font: bold 14px Arial, Helvetica, sans-serif;
		color:#333;
		}

		table tr {
		font: normal 14px Tahoma, Geneva, sans-serif;
		}
	</style>
</head>
<body>
	<table>
		<tbody>
			<tr>
				<th>Judul Buku</th>
			    <th>Nama Pengarang</th>
			    <th>Ubah Data</th>
			    <th>Hapus Data</th>
			</tr>
			<?php
			$sql= "SELECT id_buku, judul, pengarang FROM buku ORDER BY judul ASC";
			$hasil = $mysqli->query($sql);

			if($hasil === false) {
				trigger_error('Perintah SQL salah: ' . $sql . ' Error: ' . $mysqli->error, E_USER_ERROR);
			} else {
				while($data = $hasil->fetch_array()){
					echo "<tr>";
					echo "<td>$data[judul]</td>";
					echo "<td>$data[pengarang]</td>";
					echo "<td><a href=ubah.php?id_buku=$data[id_buku]>Ubah</a></td>"; // Menciptakan data id_buku yang mengarah ke file ubah.php
					echo "<td><a href=tampil.php?hapus=$data[id_buku]>Hapus</a></td>";
					echo "</tr>";
				}
			}
			?>
		</tbody>
	</table>
</body>
</html>

Sampai pada bagian ini, fitur hapus data sudah dapat berjalan dengan baik. Silakan coba terlebih dahulu pada kode yang Anda tuliskan. Untuk memudahkan proses belajar silakan download source code diatas pada link berikut ini.

Download

Tutorial menghapus ini ialah artikel terakhir untuk serial tutorial MySQLi dan PHP (CRUD). Agar kemampuan coding Anda semakin terasah silakan perbanyak studi kasus dalam membuat aplikasi.

Langkah pertama untuk latihan edit, update & hapus data mysql PHP adalah tampilakan data terlebih dahulu baru di kasih menu (opsi) untuk edit / hapus.

Buta database baru: belalar-php.sql

CREATE TABLE `data_siswa` (
`id` int(12) NOT NULL,
`nama` varchar(25) NOT NULL,
`alamat` varchar(200) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


INSERT INTO `data_siswa` (`id`, `nama`, `alamat`) VALUES
(7, 'CV. ABC', 'Jakarta'),
(8, 'Andreas', 'Bandung');


ALTER TABLE `data_siswa`
ADD PRIMARY KEY (`id`);


ALTER TABLE `data_siswa`
MODIFY `id` int(12) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;
COMMIT;

Selanjutnya…

Daftar ISI

Konekasi database mysql PHP

Buat folder: xampp > htdocs > latihan-php> koneksi.php

<?php 
// data akun database + nama database (password kosong)
$koneksi=mysqli_connect("localhost","root","","belajar_php");

if (mysqli_connect_errno()){ // cek kondisi jika koneksi berhasil
echo "Koneksi database gagal : " . mysqli_connect_error();}?>

Membuat tabel view data

file baru: xampp > htdocs > belajar-php > tampil_data.php

<!DOCTYPE html>
<html>
<head>
<title>Tampil data siswa (tabel)</title>
</head>
<body style="padding:15px;">
<h4> Tampil data siswa:</h4>
Menu: <a href="tampil_data.php"> Tampil data </a> . <a href="input_data.php"> Tambah data </a><br><br>

<?php 
session_start(); // session untuk notifikasi pesan
echo @$_SESSION['pesan'];
session_destroy();
?>

<table border="1">
<tr><th align="center">ID</th>
<td width="85" align="center">Nama</td>
<td width="155" align="center">Alamat</td>
<td width="85" align="center">Opsi</td>
</tr>

<?php
include"koneksi.php";
$data = mysqli_query($koneksi,"select * from data_siswa order by id desc");
while($d = mysqli_fetch_array($data)){?>
<tr>
<td><?php echo $d['id'];?></td>
<td><?php echo $d['nama'];?></td>
<td><?php echo $d['alamat'];?></td>
<td><a href="edit_data.php?id=<?php echo $d['id']; ?>">Edit</a> / 
<a href="javascript:del(<?php echo $d['id'];?>)">Hapus</a></td>
</tr>
<?php
};
?>
</table>
<script language="JavaScript" type="text/javascript">
function del(id){
if (confirm("yakin akan menghapus data ini?")){
window.location.href = 'hapus_data.php?id=' + id;
}}
</script>
</body>
</html>

Note:

  • Menambahkan kode session untuk tampilkan pesan
  • session_destroy(); hapus pesan setelah proses query / load selesai.
  • Javascripst untuk konfimasi hapus data
  • opsi: edit & hapus data

Hasil tampilan data + Option

Membuat tombol hapus di php

Edit data Mysql PHP

Sistem kerja edit & update data pada data PHP mysql menggunakan bantuan ID sebagai index hapus, terus membuat form edit untuk tampilkan data yang akan di update berdasarkan ID yang di pilih.

Langkah pertama tambahkan kode opsi untuk link edit, mengambil data ID, dibawa ke URL:

<a href="edit_data.php?id=<?php echo $d['id']; ?>">Edit</a>

note: kode diatas sudah ada pada kode tampil data.

Form edit data

Membuat file form baru untuk edit data: belajar-php > edit_data.php

<!DOCTYPE html>
<html>
<head>
<title>Input data siswa</title>
</head>
<body style="padding:15px;background:#ddd">
<h4> Form edit data siswa:</h4>
<?php
include 'koneksi.php';
$id = @$_GET['id']; // ambil data ID dari URL
$data = mysqli_query($koneksi,"select * from data_siswa where id='$id'");
$d = mysqli_fetch_array($data);?>

<form action="update_data.php?id=<?php echo $id ?>" method="post"> 
ID: <?php echo $d['id']; ?><br><hr>
<input style="margin-bottom:10px;" type="text" name="nama" value="<?php echo $d['nama']; ?>"><br>
<input style="margin-bottom:10px;" type="text" name="alamat" value="<?php echo $d['alamat']; ?>"><br>
<button type="submit">Update</button>
</form>
</body>
</html>

Note: jangan lupa pada kode <form> harus ada url action=update_data.php?id=<?php echo $id ?> untuk membawa ID dalam proses Update, karena setelah data di edit akan langsung di proses untuk UPDATE.

Pada form edit akan menampilkan data: nama / alamat berdasarkan ID yang di pilih sehingga bisa di edit -> update.

Hasil views edit data

Buka klik “edit” pada tabel data.

Membuat tombol hapus di php

Update data PHP Mysql

Buat kode untuk proses Update file: belajar-php > update_data.php

<?php
session_start();
include"koneksi.php"; // masukan konekasi DB
// ambil variable data 
$nama=$_POST['nama'];
$alamat=$_POST['alamat'];
$id = @$_GET['id']; // ambil data ID di URL
//Proses query update
$update=mysqli_query($koneksi,"update data_siswa set nama='$nama', alamat='$alamat' where id='$id'");
if($update){

// pesan dengan sistem session
$_SESSION['pesan'] = '<font color=green>OK, 1 data berhasil diupdate.</font>';
header("location:tampil_data.php"); // kembali ke halaman tampil
}else{
echo "Gagal update data!";
}
?>

Note: kode update hanya untuk proses + ada pesan yang ditampilkan setelah proses update selesai. setelah itu akan dibawa kembali ke halaman: tampil_data.php

Tampilan data berhasil update

Membuat tombol hapus di php

Hapus / delete data Mysql PHP

Proses hapus data PHP mysql cukup mudah, buat link (tombol) hapus berdasarkan ID yang dipilih selanjutnya di proses menuju query hapus + konfirmasi javascripst sebelum hapus, sehingga tidak ada salah pencet data hilang.

Kode hapus:

<a href="javascript:del(<?php echo $d['id'];?>)">Hapus</a>

Note: sudah ada di kode tampil data diatas + kode javascipst untuk konfirmasi sebelum data dihapus:

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

Info: kode javascipts ditaruh dipaling bawah sebelum kode </body>.

Proses hapus data

Buat file baru: belajar-php > hapus_data.php

<?php
session_start();
include”koneksi.php”; // masukan konekasi DB
// ambil variable ID dari URL
$id = @$_GET[‘id’];
//Proses query hapus data
$del=mysqli_query($koneksi,”delete from data_siswa where id=’$id'”);
if($del){
$_SESSION[‘pesan’] = ‘<font color=green>OK, 1 data berhasil dihapus.</font>’;
header(“location:tampil_data.php”); // kembali ke tampil data
}else{
echo “Gagal hapus data!”;
}?>

Note: setalah data berhasil dihapus sistem akan tampilkan pesan notifikasi dengan session & kembali ke halaman tampil data.

Hasil view hapus

Membuat tombol hapus di php

Ok, selsai.

Download file latihan CRUD PHP Mysql sederhana

Materi lengkap sederhana yang bisa didownload secara gratis untuk mudahkan proses belajar PHP / Mysql, beserta database dalam format zip: tambah data, edit data, tampil data & hapus data.