Hapus Data
dengan PHP – MySQL
Pada modul
terakhir ini, kita akan membahas bagaimana cara melakukan hapus data pada
database MySQL dengan PHP.
Konsep utama
dari proses penghapusan data MySQL dengan PHP adalah menjalankan query SQL
DELETE FROM … pada script PHP tersebut.
Untuk lebih jelasnya konsep tersebut, kita
langsung terapkan pada studi kasus.
Sebagai studi kasus, kita ambil sampel
seperti halnya pada Bab 19, yaitu tentang data mahasiswa.
Misalkan kita memiliki tabel mahasiswa
sebagai berikut:
nim
nama alamat sex tgllahir
varchar(5)
primary key
varchar(30)
text
varchar(1)
date
dan andaikan kita telah mempunyai data awal
sebagai berikut
NIM
|
NAMA
|
ALAMAT
|
SEX
|
TGLLAHIR
|
M0001
|
A
|
SOLO
|
L
|
1979-10-20
|
M0002
|
B
|
JAKARTA
|
L
|
1982-09-10
|
M0003
|
C
|
BANDUNG
|
P
|
1980-11-07
|
Selanjutnya
kita akan membuat
script PHP untuk
menghapus melalui POST maupun GET method.
data
mahasiswa, baik
Studi Kasus 1
Pada studi kasus pertama ini, kita akan
membuat script hapus mahasiswa menggunakan
POST method.
Adapun skenarionya adalah sebagai berikut.
User diminta memasukkan NIM mahasiswa yang
akan dihapus melalui
sebuah form. Selanjutnya
script akan menghapus
data
mahasiswa sesuai NIM yang ingin dihapus
tadi. Namun… bila NIM yang akan dihapus tidak ada dalam database, maka akan
muncul pesan bahwa data tersebut tidak ada.
Berikut ini adalah tampilan script yang
akan kita buat dalam studi kasus 1 ini
Adapun scriptnya berbentuk seperti di bawah
ini:
hapus01.php
<h1>Hapus Data Mahasiswa</h1>
<input type="submit"
name="submit" value="Submit">
</form>
<?php
// koneksi ke mysql
mysql_connect("localhost", "…", "…");
mysql_select_db("…");
if ($_GET['proses'] == "hapus")
{
// bagian ini akan dijalankan ketika proses
SUBMIT dari form
$nim = $_POST['nim']; // membaca NIM yang dimasukkan dalam form
// mengecek keberadaan data mahasiswa
dengan NIM sesuai yang
// dimasukkan dalam form
$query = "SELECT count(*) as jum FROM
mahasiswa WHERE nim = '$nim'";
$hasil = mysql_query($query);
$data
= mysql_fetch_array($hasil);
// jika jumlah mahasiswa ber NIM tersebut
tidak ada, maka muncul keterangan if ($data['jum'] == 0) echo
"<p>Data yang akan dihapus tidak ada</p>";
else
{
// jika ada, maka lakukan penghapusan
$query = "DELETE FROM mahasiswa WHERE
nim = '$nim'";
$hasil = mysql_query($query);
}
}
// menampilkan data semua mahasiswa
$query = "SELECT * FROM
mahasiswa";
$hasil = mysql_query($query);
echo "<table border='1'>";
echo
"<tr><th>NIM</th><th>Nama
Mhs</th><th>Alamat</th><th>Sex</th><th>Tgl
Lahir</th></tr>";
while ($data = mysql_fetch_array($hasil))
{
echo
"<tr><td>".$data['nim']."</td><td>".$data['nama']."</td>
<td>".$data['alamat']."</td><td>".$data['sex']."</td>
<td>".$data['tgllahir']."</td></tr>";
}
echo "</table>";
?>
Studi Kasus 2
Untuk
studi kasus yang
kedua ini, kita
akan lakukan penghapusan
data mahasiswa melalui GET method
atau melalui link berparameter. Link ini nanti akan diletakkan di setiap baris
data mahasiswa.
Bentuk link berparameter yang nanti akan
digunakan untuk menghapus data adalah
http://.../hapus02.php?proses=hapus&nim=xxx
dengan ‘xxx’ adalah NIM mahasiswa yang akan
dihapusnya.
Berikut ini screen shot tampilan studi
kasus 2 (perhatikan link berparameternya yang tampak di status bar)
Untuk script studi kasus 2 ini adalah
sebagai berikut:
hapus02.php
<h1>Hapus Data Mahasiswa</h1>
<?php
// koneksi ke mysql
mysql_connect("localhost", "…", "…");
mysql_select_db("…");
if ($_GET['proses'] == "hapus")
{
// bagian ini akan dijalankan ketika link
hapus diklik (parameter proses=hapus)
// membaca NIM dari URL berparameter
$nim = $_GET['nim'];
// mengecek keberadaan data mahasiswa
dengan NIM
// sesuai yang dimasukkan dalam form
$query = "SELECT count(*) as jum FROM
mahasiswa WHERE nim = '$nim'";
$hasil = mysql_query($query);
$data
= mysql_fetch_array($hasil);
// jika jumlah mahasiswa ber NIM tersebut
tidak ada, maka muncul keterangan if ($data['jum'] == 0) echo
"<p>Data yang akan dihapus tidak ada</p>";
else
{
// jika ada, maka lakukan penghapusan
$query = "DELETE FROM mahasiswa WHERE
nim = '$nim'";
$hasil = mysql_query($query);
}
}
// menampilkan data semua mahasiswa &
link untuk menghapus
$query = "SELECT * FROM
mahasiswa";
$hasil = mysql_query($query);
echo "<table border='1'>";
echo
"<tr><th>NIM</th><th>Nama
Mhs</th><th>Alamat</th><th>Sex</th><th>Tgl
Lahir</th><th>Proses</th></tr>";
while ($data = mysql_fetch_array($hasil))
{
echo "<tr><td>".$data['nim']."</td><td>".$data['nama']."</td>
<td>".$data['alamat']."</td><td>".$data['sex']."</td>
<td>".$data['tgllahir']."</td>
<td><a
href='".$_SERVER['PHP_SELF']."?proses=hapus&nim=".$data['nim']."'>
Hapus</a></td></tr>";
}
echo "</table>";
?>
Untuk contoh delete kali ini kita menggunakan
program bab sebelumnya yaitu bab upadate pada bab tersebut kita telah membuat
beberapa data, pada bab ini kita hanya menambahkan fasilitas delete dan jumlah
data.
Berikut adalah program dan hasilnya
Program
//Tabel_jenis_buku.php
<?php
include "koneksi.php";
$query = "SELECT * FROM
jenis_buku";
$hasil = mysql_query($query);
echo"<h1>Tabel Jenis
Buku</h1>
<a href=\"insert_jenis_buku.php\">Tambah
Data</a>
";
echo "<table border='1'>";
echo "<tr>
<th>Kode jenis
buku</th>
<th>Nama jenis
buku</th>
<th>Action</th>
</tr>";
while ($data = mysql_fetch_array($hasil))
{
echo "<tr>
<td>".$data['kode_jenis_buku']."</td>
<td>".$data['nama_jenis_buku']."</td>
<td>
<a href=\"update_jenis_buku.php?kode_jenis_buku=".$data['kode_jenis_buku']."\">edit</a>
<a href=\"delete_jenis_buku.php?kode_jenis_buku=".$data['kode_jenis_buku']."\">delete</a>
</td>
</tr>";
}
echo "</table>";
$hasil = mysql_query("SELECT Count(*) as
jml FROM jenis_buku");
$data = mysql_fetch_array($hasil);
echo "Jumlah data : ".$data['jml']."
";
?>
//delete_jenis_buku.php
<?php
$kode_jenis_buku=$_GET['kode_jenis_buku'];
?>
<form method="POST"
action="submit_delete_jenis_buku.php">
<h1>Apakah anda yakin ingin menghapus
data ini </h1>
<input type="radio" name="hapus"
value="ya"> YA <br>
<input type="radio" name="hapus"
value="tidak"> TIDAK <br>
<input type="hidden" name="kode_jenis_buku"
value="<?php echo $kode_jenis_buku; ?>">
<input type="submit" name="submit"
value="submit">
</form>
//submit_delete_jenis_buku.php
<?php
include "koneksi.php";
$kode_jenis_buku = $_POST['kode_jenis_buku'];
$hapus = $_POST['hapus'];
if($hapus=='ya'){
$query="DELETE FROM jenis_buku WHERE
kode_jenis_buku='$kode_jenis_buku'";
$hasil=mysql_query($query);
if ($hasil)
echo "Data berhasil
dihapus";
else
echo "Data gagal dihapus";
}
else
echo "<a href=\"tabel_jenis_buku.php\">Kembali
ke tabel</a>"
?>
//Table_buku.php
<?php
include "koneksi.php";
$query = "SELECT * FROM buku";
$hasil = mysql_query($query);
echo"<h1>Tabel Buku</h1>
<a href=\"insert_buku.php\">Tambah
Data</a>
";
echo "<table
border='1'>";
echo "<tr>
<th>Kode buku</th>
<th>Judul buku</th>
<th>Pengarang</th>
<th>Jenis buku</th>
<th>Action</th>
</tr>";
while ($data = mysql_fetch_array($hasil))
{
echo "<tr>
<td>".$data['kode_buku']."</td>
<td>".$data['judul_buku']."</td>
<td>".$data['pengarang']."</td>
<td>".$data['jenis_buku']."</td>
<td>
<a href=\"update_buku.php?kode_buku=".$data['kode_buku']."\">edit</a>
<a href=\"delete_buku.php?kode_buku=".$data['kode_buku']."\">delete</a
</td>
</tr>";
}
echo "</table>";
$hasil = mysql_query("SELECT Count(*) as
jml FROM buku");
$data = mysql_fetch_array($hasil);
echo "Jumlah data : ".$data['jml']."
";
?>
//delete_buku.php
<?php
$kode_buku=$_GET['kode_buku'];
?>
<form method="POST"
action="submit_delete_buku.php">
<h1>Apakah anda yakin ingin menghapus
data ini </h1>
<input type="radio" name="hapus"
value="ya"> YA <br>
<input type="radio" name="hapus"
value="tidak"> TIDAK <br>
<input type="hidden" name="kode_buku"
value="<?php echo $kode_buku; ?>">
<input type="submit" name="submit"
value="submit">
</form>
//submit_delete_buku
<?php
include "koneksi.php";
$kode_buku = $_POST['kode_buku'];
$hapus = $_POST['hapus'];
if($hapus=='ya'){
$query="DELETE FROM buku WHERE
kode_buku='$kode_buku'";
$hasil=mysql_query($query);
if ($hasil)
echo "Data berhasil
dihapus";
else
echo "Data gagal dihapus";
}
else
echo "<a href=\"tabel_buku.php\">Kembali
ke tabel</a>"
?>
//Tabel_member.php
<?php
include "koneksi.php";
$query = "SELECT * FROM member";
$hasil = mysql_query($query);
echo"<h1>Tabel member</h1>
<a href=\"insert_member.php\">Tambah
Data</a>
";
echo "<table border='1'>";
echo "<tr>
<th>Kode member</th>
<th>Nama member</th>
<th>Action</th>
</tr>";
while ($data = mysql_fetch_array($hasil))
{
echo "<tr>
<td>".$data['kode_member']."</td>
<td>".$data['nama_member']."</td>
<td>
<a href=\"update_member.php?kode_member=".$data['kode_member']."\">edit</a>
<a href=\"delete_member.php?kode_member=".$data['kode_member']."\">delete</a>
</td>
</tr>";
}
echo "</table>";
$hasil = mysql_query("SELECT Count(*) as
jml FROM member");
$data = mysql_fetch_array($hasil);
echo "Jumlah data : ".$data['jml']."
";
?>
//delete_member.php
<?php
$kode_member=$_GET['kode_member'];
?>
<form method="POST"
action="submit_delete_member.php">
<h1>Apakah anda yakin ingin menghapus
data ini </h1>
<input type="radio" name="hapus"
value="ya"> YA <br>
<input type="radio" name="hapus"
value="tidak"> TIDAK <br>
<input type="hidden" name="kode_member"
value="<?php echo $kode_member; ?>">
<input type="submit" name="submit"
value="submit">
</form>
//submit_delete_member.php
<?php
include "koneksi.php";
$kode_member = $_POST['kode_member'];
$hapus = $_POST['hapus'];
if($hapus=='ya'){
$query="DELETE FROM member WHERE
kode_member='$kode_member'";
$hasil=mysql_query($query);
if ($hasil)
echo "Data berhasil
dihapus";
else
echo "Data gagal dihapus";
}
else
echo "<a href=\"tabel_member.php\">Kembali
ke tabel</a>"
?>
//Table_pinjam_buku.php
<?php
include "koneksi.php";
$query = "SELECT * FROM
pinjam_buku";
$hasil = mysql_query($query);
echo"<h1>Tabel Jenis
Buku</h1>
<a href=\"insert_pinjam_buku.php\">Tambah
Data</a>
";
echo "<table border='1'>";
echo "<tr>
<th>Kode pinjam</th>
<th>Kode buku</th>
<th>Kode member</th>
<th>Tanggal Pinjam</th>
<th>Tanggal
Kembali</th>
<th>Action</th>
</tr>";
while ($data = mysql_fetch_array($hasil))
{
echo "<tr>
<td>".$data['kode_pinjam']."</td>
<td>".$data['kode_buku']."</td>
<td>".$data['kode_member']."</td>
<td>".$data['tgl_pinjam']."</td>
<td>".$data['tgl_hrs_kembali']."</td>
<td>
<a href=\"update_pinjam_buku.php?kode_pinjam=".$data['kode_pinjam']."\">edit</a>
<a href=\"delete_pinjam_buku.php?kode_pinjam=".$data['kode_pinjam']."\">delete</a>
</td>
</tr>";
}
echo "</table>";
$hasil = mysql_query("SELECT Count(*) as
jml FROM pinjam_buku");
$data = mysql_fetch_array($hasil);
echo "Jumlah data : ".$data['jml']."
";
?>
//delete_pinjam_buku.php
<?php
$kode_pinjam=$_GET['kode_pinjam'];
?>
<form method="POST"
action="submit_delete_pinjam_buku.php">
<h1>Apakah anda yakin ingin menghapus
data ini </h1>
<input type="radio" name="hapus"
value="ya"> YA <br>
<input type="radio" name="hapus"
value="tidak"> TIDAK <br>
<input type="hidden" name="kode_pinjam"
value="<?php echo $kode_pinjam; ?>">
<input type="submit" name="submit"
value="submit">
</form>
//submit_pinjam_buku.php
<?php
include "koneksi.php";
$kode_pinjam = $_POST['kode_pinjam'];
$hapus = $_POST['hapus'];
if($hapus=='ya'){
$query="DELETE FROM pinjam_buku WHERE
kode_pinjam='$kode_pinjam'";
$hasil=mysql_query($query);
if ($hasil)
echo "Data berhasil
dihapus";
else
echo "Data gagal
dihapus";
}
else
echo "<a
href=\"tabel_pinjam.php\">Kembali ke tabel</a>"
?>
Hasil
1.
Table
jenis buku
2.
Delete
jenis buku
3.
Tabel
buku
4.
Delete
buku
5.
Tabel
member
6.
Delete
member
7.
Tabel
pinjam buku
8.
Delete
pinjam buku
Tidak ada komentar:
Posting Komentar