Senin, 23 Maret 2015

Membuat Jendela Konfirmasi

Masalah ini sebenarnya saya sendiri mengalaminya. Saya coba menampilkan data di database di browser dalam bentuk tabel. Nah, ketika itu saya ingin menambahkan field / kolom aksi untuk setiap data-nya. Aksi itu bisa berupa edit maupun delete. Namun disini saya fokuskan untuk membuat aksi delete. 

Konfirmasi yang saya maksud adalah munculnya kotak / jendela konfirmasi ketika meng-klik tombol delete. Contohnya, ketika tombol delete di klik, maka muncul dialog box yang bertuliskan "Are you sure you want to delete this data?". Jika diklik OK maka data akan dihapus, dan jika diklik Cancel maka tidak jadi dihapus. Seperti itulah maksudnya. Berikut contoh screenshotnya: 


Sebenarnya caranya sangat mudah. Tinggal tambahkan javascript di bawah ini dalam tag <a> 
  1. onclick="return confirm('Apakah anda yakin akan menghapus data ini?')"  
Anda bisa mengganti kalimat Apakah anda yakin akan menghapus data ini? dengan kalimat lain.

Meskipun sudah saya kasih tahu caranya seperti di atas, saya ingin membahasnya dengan cukup lengkap dari awal supaya lebih jelas. Pertama buat database. Disini saya membuat database dengan nama example. Selanjutnya buat tabel. Saya buat dengan nama contoh. 
  1. create table contoh (  
  2. id int(10) not null auto_increment,  
  3. field1 varchar(50) not null,  
  4. field2 varchar(50) not null,  
  5. primary key(id)  
  6. );  

Setelah pembuatan tabel, isi tabel tersebut dengan sembarang data. Selanjutnya buat file php yang mengkoneksikan ke database. Simpan saja file tersebut dengan nama koneksi.php. Berikut script-nya:
  1. <?php  
  2.  $host = "localhost";  
  3.  $username = "root";  
  4.  $password = "";  
  5.  $database = "example";  
  6.   
  7.  $connect = mysql_connect($host,$username,$password);  
  8.  mysql_select_db($database,$connect);  
  9. ?>  

Kemudian buat file php yang menampilkan data dari database. Saya beri nama file tersebut dengan tampil.php. Berikut script-nya: 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5. <title>Tampilan data</title>  
  6. </head>  
  7.   
  8. <body>  
  9. <center>  
  10. <?php  
  11. include("koneksi.php");  
  12. $no = 1;  
  13. $sql="SELECT * FROM contoh";  
  14. $hasil=mysql_query($sql);  
  15.   
  16. echo "<table border='1'><tr><th style='padding:5px;'>No.</th><th>Field1</th><th>Field2</th><th>Aksi</th></tr>";  
  17. if($hasil){  
  18.  while($baris=mysql_fetch_array($hasil)){  
  19.   echo"<tr><td style='padding:5px;'>".$no.".</td><td>".$baris['field1']."</td><td>".$baris['field2']."</td>";?>  
  20.   <td><a href="<?php echo "aksi.php?id=$baris[id]";?>" onclick="return confirm('Apakah anda yakin akan menghapus data ini?')">Hapus</a></td>  
  21.   <?php $no++;}  
  22.  echo "</tr></table>";  
  23. }  
  24. else {  
  25.  echo "gagal menampilkan data";  
  26.  }  
  27. ?>  
  28. </center>  
  29. </body>  
  30. </html>  

Nah, jika file tersebut sudah dibuat, coba buka di browser apakah data-nya bisa ditampilkan atau tidak. Jika data sudah bisa ditampilkan, maka kira-kira tampilannya seperti ini: 

Pada kolom paling kanan, terdapat link dengan tulisan "Hapus". Seperti terlihat pada script, link tersebut mengarah ke aksi.php. Berikut ini adalah isi dari file aksi.php: 
  1. <?php  
  2. include "koneksi.php";  
  3.   
  4. $id = $_GET['id'];  
  5. $query = "DELETE from contoh WHERE id='$id'";  
  6. mysql_query($query);  
  7. header("location:tampil.php");  
  8.   
  9. ?>  

File aksi.php tersebut berfungsi menghapus data yang ada di database. 

Tidak ada komentar:

Posting Komentar