-->
6/Tutorial/slider
Showing posts with label SQL. Show all posts

Membuat Jendela Konfirmasi ketika Menghapus Data di Database

21 comments
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:

Setelah saya browsing. Akhirnya saya menemukan caranya di sebuah forum. Sebenarnya caranya sangat mudah. Tinggal tambahkan javascript di bawah ini dalam tag <a>
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.
create table contoh (
id int(10) not null auto_increment,
field1 varchar(50) not null,
field2 varchar(50) not null,
primary key(id)
);

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:
<?php
 $host = "localhost";
 $username = "root";
 $password = "";
 $database = "example";

 $connect = mysql_connect($host,$username,$password);
 mysql_select_db($database,$connect);
?>

Kemudian buat file php yang menampilkan data dari database. Saya beri nama file tersebut dengan tampil.php. Berikut script-nya:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Tampilan data</title>
</head>

<body>
<center>
<?php
include("koneksi.php");
$no = 1;
$sql="SELECT * FROM contoh";
$hasil=mysql_query($sql);

echo "<table border='1'><tr><th style='padding:5px;'>No.</th><th>Field1</th><th>Field2</th><th>Aksi</th></tr>";
if($hasil){
 while($baris=mysql_fetch_array($hasil)){
  echo"<tr><td style='padding:5px;'>".$no.".</td><td>".$baris['field1']."</td><td>".$baris['field2']."</td>";?>
  <td><a href="<?php echo "aksi.php?id=$baris[id]";?>" onclick="return confirm('Apakah anda yakin akan menghapus data ini?')">Hapus</a></td>
  <?php $no++;}
 echo "</tr></table>";
}
else {
 echo "gagal menampilkan data";
 }
?>
</center>
</body>
</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:
<?php
include "koneksi.php";

$id = $_GET['id'];
$query = "DELETE from contoh WHERE id='$id'";
mysql_query($query);
header("location:tampil.php");

?>

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

Selesai.. Mudah-mudahan artikel yang singkat ini bisa berguna.

Download source code : Disini

Memasukkan Record ke Banyak Tabel dari Satu Form

6 comments
Hari ini saya mau berbagi tips untuk memasukkan data (record) ke banyak tabel atau istilahnya multiple table dari satu form. Contoh saya buat kasus seperti ini:

Saya misalkan di sebuah website ada kolom feedback dari pengunjung. Nah, pada bagian feedback pengunjung ini saya misalkan ada 4 form yang harus diisi.
1. Form Nama
2. Form Email
3. Form Subjek
4. Form Pesan / Masukan

Form ke 1 dan 2 ingin saya masukan ke tabel 'pengunjung'. Lalu form ke 3 dan 4 saya masukan ke tabel 'feedback'.
Seperti itulah kasusnya. Nah sekarang langsung ke langkah-langkahnya:
1. Buat database dengan nama bebas. Disini saya buat dengan nama "Tes"
2. Buat tabel "pengunjung" dan "feedback" pada database yang telah dibuat tadi. Saya anggap sudah bisa dalam pembuatan tabel ini..
3. Pada tabel pengunjung buat 3 field, yaitu "id", "nama" dan "email"
4. Pada tabel feedback buat 3 field juga, yaitu "id", "subjek", dan "pesan"
5. Jika sudah buat tabel, sekarang ke pembuatan formnya. Buat dengan nama 'form.html' dengan script seperti berikut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Feedback</title>
</head>

<body style="margin:50px 25% 0px 25%;">
 <h1>Feedback</h1>
 <form method="post" action="pengolah.php">
       Nama <br><input name="nama" type="text" size="50"><br><br>
    Email <br><input name="email" type="text" size="50"><br><br>
    Subjek <br><input name="subjek" type="text" size="50"><br><br>
    Pesan <br><textarea name="pesan" style="height:250px; width:675px;"></textarea><br><br>
    <p style="text-align:right;"><input type="submit" value="Kirim Pesan"></p></form>
    </form>
</body>
</html>


6. Setelah form dibuat maka sekarang buat file php yang mengkoneksikan ke database dan memasukkan datanya. Karena pada script form diatas actionnya ke "pengolah.php", maka kita buat file php ini dengan nama "pengolah.php". Berikut scriptnya:
<?php

// koneksi ke database
$user = 'root';
$pass = '';
$dbh = new PDO ('mysql:host=localhost;dbname=tes', $user,$pass);

// Memberi variabel pada data yg didapat dari form
$nama = $_POST["nama"];
$email = $_POST["email"];
$subjek = $_POST["subjek"];
$pesan = $_POST["pesan"];

// kondisi jika salah satu form ada yang tidak diisi
if ($nama == "" || $email == "" || $subjek == "" || $pesan == "") {echo "ada yg belum diisi";}

// kondisi selain if di atas
else {
 $sql = "INSERT INTO pengunjung (nama,email) VALUES (:nama,:email)"; // Perintah memasukkan nama dan email ke tabel pengunjung
 $stmnt = $dbh->prepare($sql);
 $stmnt->execute(array(':nama'=>$nama,':email'=>$email));
 $sql2 = "INSERT INTO feedback (subjek,pesan) VALUES (:subjek,:pesan)"; // Perintah memasukkan subjek dan pesan ke tabel feedback
 $stmnt = $dbh->prepare($sql2);
 $stmnt->execute(array(':subjek'=>$subjek,':pesan'=>$pesan));
 echo "pesan telah terkirim";} // Tulisan yang ditampilkan jika sukses
?>

Disini saya menggunakan PDO untuk koneksi ke database-nya. Saya tidak akan menjelaskan PDO itu apa silahkan cari sendiri di google karena saya sendiri masih kurang mengerti mengenai PDO ini. Tapi yang saya ketahui PDO ini memliki kelebihan dibanding mysql* ataupun mysql_* yaitu lebih aman dari serangan SQL Injection dan juga fleksibel jika ingin pindah ke database yang lain.

Nah seperti itulah caranya memasukkan data dari satu form ke banyak tabel (disini 2 tabel)..

Semoga bisa membantu..

Download source code : disini
An ENTJ Person. A software engineer, experienced in web development, especially in Java. The best graduate of engineering field of Bandung State Polytechnic. Self-motivated and adaptable person. Highly passionate about IT stuff. A fast learner, always curious and loves to learn something new. Has a strong logical and analytical thinking. [Faris Arifiansyah] (https://lh4.googleusercontent.com/9-OcR6PfTb9wECGLmzP0uzrFor9GiXdbMHRt_eXiIh9D_kdopGPGDogIuhWVlCaeBfGONpDMz54MuZHfm98s=w1920-h925)