PHP Programming 8 - Database PHP MySQL CRUD DELETE
Assalamu'alaikum
Send Method GET
Seperti yang sudah pernah saya jelaskan di latihan latihan sebelumnya, method GET adalah method yang menggunakan URL Bar untuk pengiriman datanya. Dimana penulisan URL instruksi method GET di lakukan setelah simbol tanda tanya (?). Di method ini terdapat 2 variabel data yang dikirimkan, yaitu variabel operation (op) dan variabel id (id). Variabel op adalah patokan untuk pengarahan ke statement percabangan dan variabel id digunakan untuk menangkap ID data yang mana yang mau di hapus.
Sehingga URLnya nanti akan tertulis seperti ini
latihan16.4.php?op=delete&id=[nomor id data yang ingin dihapus]
<a href=latihan16.4.php?op=delete&id=" . $row["id"] . "> Delete </a>
Receive Method GET
Note : instruksi isset digunakan untuk mencari tau apakah variabel op termasuk variabel atau bukan. Karena disini variabel op tidak menggunakan s dolar ($). Dan kalaupun tidak menggunakan instruksi isset, method GET dan instruksi delete tetap akan berjalan, namun hanya muncul pesan error saja.
if (isset($_GET['op'])=="delete"){ //action apa yang akan di lakukan } |
if (isset($_GET['op'])=="delete"){ $id = $_GET['id']; } |
Variabel Instruksi Delete Query
Setelah variabel id di tangkap dan di masukan ke variabel id yang baru kita buat. Langkah selanjutnya adalah menjalankan querynya. Instruksi query yang digunakan adalah instruksi DELETE terhadap data dengan ID yang sudah di simpan pada variabel $id. Hasil perintah query yang di tampung di dalam variabel $delete, diarahakan kedalam parameter perintah PHP SQL mysqli_query($conn, $delete) untuk di jalankan instruksi deletenya.if (isset($_GET['op'])=="delete"){ $id = $_GET['id']; $delete = "DELETE FROM data_tamu WHERE id=$id"; $con=mysqli_query($conn, $delete); } |
Direct Header
Jika sudah seperti ini, perintah button delete sudah berfungsi dan ketika di klik akan langsung menghapus record tabel data yang ingin dihapus. Untuk menambahkan sedikit, kita bisa memberikan perintah header yang digunakan untuk keamanan method GET. Dengan menggunakan script header ini, user yang menggunakan aplikasi tidak akan tau variabel apa yang kita gunakan untuk menghapus record data sehingga user tidak sembarang inject number yang di kolom url browser.if (isset($_GET['op'])=="delete"){ $id = $_GET['id']; $delete = "DELETE FROM data_tamu WHERE id=$id"; $con=mysqli_query($conn, $delete); header('location:./latihan16.4.php'); } |
<?php include "db.php"; $sql = "SELECT * FROM data_tamu"; $result = mysqli_query($conn, $sql); if (isset($_GET['op'])=="delete"){ $id = $_GET['id']; $delete = "DELETE FROM data_tamu WHERE id=$id"; $con=mysqli_query($conn, $delete); header('location:./latihan16.4.php'); } if (mysqli_num_rows($result)>0){ $no=1; echo "<table border=1 cellpadding=5 cellspacing=0 >"; echo "<tr> <td> No</td> <td>Nama</td> <td>Alamat</td> <td>Email</td> <td>No HP</td> <td>Option</td> </tr>"; while ($row = mysqli_fetch_assoc($result)){ echo "<tr bgcolor = " . belang($no) . "> <td>" . $no . "</td> <td>" . $row["nama"] . "</td> <td>" . $row["alamat"] . "</td> <td>" . $row["email"] . "</td> <td>" . $row["no_hp"] . "</td> <td>" . "<a href=latihan16.4.php?op=delete&id=" . $row["id"] . "> Delete </a></td></tr>"; $no++; } echo "</table>"; } else { echo"0 Result"; } mysqli_close ($conn); echo "<br><center>© Mahasiswa Mercu Buana Bekasi Pemrograman Web Genap 2019 </center>" ?> |