PHP Talk: CRUD Part 4 (FINAL)

Hallo PHP Programmers… Sudah cukup lama saya merancang tutorial CRUD PHP ini, namun dikarenakan liburan akhir tahun saya yang lumayan panjang, jadi part terakhir dari tutorial ini menjadi tertunda. Kini saya sudah kembali ke kehidupan saya sebagai blogger dan juga mahasiswa, dan saatnya pula kita mulai men-sharing-kan ilmu kita kembali di Blog ini.

Pada PHP Talk: CRUD Part 3 kita telah membahas teknik CRUD sampai pada U(Update). Dan sekarang tibalah saatnya kita membahas tentang proses terakhir yaitu D(Delete). Tutorial terakhir ini cukup pendek dibandingkan dengan tutorial sebelumnya, jadi jangan malas dulu ya?.. Jika teman-teman belum mengikuti tutorial yang sebelumnya, silahkan ikuti terlebih dahulu. Berikut permalink dari rentetan tutorial ini:

Jika teman-teman sudah mengikutinya dan berakhir dengan kesuksesan, saatnya sekarang kita tuntaskan misteri dibalik CRUD ini.…

1. Starter

Untuk dapat menghapus sebuah data dalam data base, maka kita memerlukan suatu file .php yang bertugas untuk mengeksekusi permintaan penghapusan dari user. Sekarang buatlah file .php dengan nama delete.php pada folder tutorialphp. File ini nantinya akan menerima datakey dari halaman utama dan akan menghapus data mahasiswa yang sesuai dengan datakey yang dikirimkan tersebut.

2. Mengubah Halaman utama.

Bukalah file index.php pada folder C:\xampp\htdocs\tutorialphp, yang telah kita buat di PHP Talk: CRUD Part 1. Perhatikan field dengan judul(th) Action berada, sekarang ubah field body tersebut dengan script berikut:

<a href='edit/?id=".$row['nim']."'>Edit</a> | <a href='delete.php?id=".$row['nim']."'>Delete</a>

Perhatikan perbedaan yang ada diantara script yang baru dengan yang lama. Pada script yang baru terdapat link ke halaman delete.php dimana setiap kali link ini di klik, halaman utama ini akan mengirimkan datakey (nim) ke halaman delete.php. Lalu ubahlah juga script php yang terdapat dibagian atas pada halaman ini, tambahkan script berikut untuk memeriksa status keberhasilan dari proses delete.

else if($_GET['status']=='1'){

    echo "Berhasil menghapus data dari database!";

    } else if($_GET['status']=='0'){

    echo "Gagal menghapus data dari database!";

    }

Jika kedua hal diatas sulit untuk dilakukan secara manual, tidak usah dilakukan. Namun replace saja index.php/halaman utama anda dengan script dibawah ini:

<?php

include ‘config.php’;

if($_GET['status']==’berhasil’){

echo “Berhasil memasukan data ke dalam database!”;

} else if($_GET['status']==’gagal’){

echo “Gagal memasukan data ke dalam database!”;

} else if($_GET['status']==’1′){

echo “Berhasil menghapus data dari database!”;

} else if($_GET['status']==’0′){

echo “Gagal menghapus data dari database!”;

}

mysql_select_db(“tutorial”, $con) or die(“Databasenya Error”);

$table=”mahasiswa”; //nama table

$query = mysql_query(“SELECT * FROM $table”); // MySql Query buat me-retrieve semua field

echo “<table>

<caption>Data Mahasiswa</caption>

<thead>

<tr>

<th><strong>NIM</strong></th>

<th><strong>Nama</strong></th>

<th><strong>Prodi</strong></th>

<th><strong>Alamat</strong></th>

<th><strong>Action</strong></th>

</tr>

</thead> “; // inisialisai table buat html, caption untuk tablenya, dan nama-nama field yang akan diinformasikan datanya

while($row = mysql_fetch_array($query,MYSQL_BOTH))

{

echo “<tr><td>”.$row['nim'].”</td>

<td>”.$row['nama']. “</td>

<td>”.$row['prodi'].”</td>

<td>”.$row['alamat'].”</td>

<td><a href=’edit/?id=”.$row['nim'].”‘>Edit</a> | <a href=’delete.php?id=”.$row['nim'].”‘>Delete</a></td></tr>”;

}// ini adalah perulangan pada php script yang mengulang script didalam while selama tidak ada data lagi dalam array, karena data yang diambil dari database berupa array.

echo “<tfoot><tr><td colspan=’4′>Dari database Mahasiswa</td></tr></tfoot>

</table>”;

?><a href=”insert/”>Tambah Data Mahasiswa</a>

3. Membuat halaman aksi untuk menghapus data.

Bukalah file delete.php pada folder tutorialphp dan isikan dengan script berikut:

<?php

include “config.php”;

$nim = $_GET['id'];

mysql_select_db(“tutorial”, $con) or die(“Databasenya Error”);

if($query = mysql_query(“DELETE FROM mahasiswa WHERE nim = ‘$nim’”))

{

header( ‘Location: index.php?status=1′ ) ;

}

else

header( ‘Location: index.php?status=0′ ) ;

mysql_close($con)

?>

Secara keseluruhan script pada delete.php ini tidak jauh berbeda susunannya dengan script pada edit.php, hanya script disini kita fungsikan untuk menghapus data sesuai dengan datakey yang dikirim oleh halaman utama. Perhatikan script diatas, bahwa datakey pada halaman ini diterima dengan menggunakan method GET, hal ini sangatlah berbahaya karena bisa saja user yang tidak bertanggung jawab akan mengakses secara langsung halaman ini dan memasukan datakey secara manual melalui address bar. Saya sarankan jika teman-teman ingin menggunakan metode delete ini untuk website teman-teman, ubahkan metode pengiriman datakey-nya menjadi POST dengan menggunakan FORM. Ok jika semuanya sudah selesai, cobalah buka http://localhost/tutorialphp/. Klik menu delete pada salah satu baris di table. Jika teman-teman berhasil, maka teman-teman akan mendapatkan info seperti ini “Berhasil menghapus data dari database!” dan baris yang sejajar dengan tombol delete yang tadi diklik akan menghilang, begitu pula pada databasenya.

Anda bisa mendukung saya untuk tetap melakukan update tutorial dengan cara mem-follow blog saya, atau mem-follow twitter saya disini, bisa juga dengan meninggalkan komentar dan atau me-request tutorial yang anda inginkan. Best regards, eSDhee

Advertisements

7 thoughts on “PHP Talk: CRUD Part 4 (FINAL)

  1. Pingback: PHP Talk: CRUD Part 4 (FINAL) « eSDhee weBlog - Cari Judul Skripsi, Makalah, Laporan

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s