Cara Membuat CRUD Menggunakan Query Prepare
Berikut ini adalah halaman yang akan merujuk pada pembuatan aplikasi sederhana untuk menampilkan data serta melakukan manipulasi berupa operasi simpan,ubah dan hapus data menggunkan PDO dan Query Prepare,
Pembuatan aplikasi menggunakan query prepared statements membutuhkan tiga langkah diantaranya Prepared, Bind, dan Execute. Pada proses pertama: prepared, kita mempersiapkan query yang akan dijalankan, tetapi tanpa diisi oleh data secara langsung. Bagian dimana data berada (values) dijadikan sebuah parameter digantikan dengan tanda tanya (?),
File yang akan digunakan :
- tampil.php, digunakan untuk menampilkan data yang berasal dari tabel buku kedalam sebuah tabel yang akan muncul di halaman web. pada halaman ini juga akan ditambahkan dua buah link untuk melakukan ubah data dan hapus data
- form_simpan.php, digunakan sebagai halaman untuk melakukan input data.
- simpan.php, digunakan untuk memproses data untuk melakukan penyimpanan data kedalam tabel buku yang berasal dari form_simpan.php.
- form_ubah.php, digunakan sebagai halaman untuk melakukan ubah data.
- edit.php, digunakan untuk memproses ubah data yang berasal dari form_ubah.php.
- hapus.php, digunakan untuk memproses hapus data berdasarkan premary key pada tabel buku.
Menampilkan Data (tampil.php)
Pada pembahasan kali ini kita akan menampilkan data yang sebelumnya sudah tersimpan di database perpustakaan, data yang akan ditampilkan adalah tabel buku jika belum ada silahkan buat dulu database yang sudah kita bahas pada artikel sebelumnya.
<?php
try {
$koneksi = new PDO('mysql:host=localhost;dbname=perpustakaan', "root", "");
// echo "koneksi berhasil";
} catch (PDOExcetion $mesaage) {
echo "koneksi gagal" . $message->getMessage();
}
$sql = "select * from buku";
$query = $koneksi->query($sql);
?>
<h2>Data Buku</h2>
<table border="1" width="60%" cellpadding="2">
<tr>
<th>Kode</th>
<th>Judul</th>
<th>Pengarang</th>
<th>ISBN</th>
<th colspan="2">Aksi</th>
</tr>
<?php
while ($baris = $query->fetch(PDO::FETCH_NUM)) {
echo "<tr>";
echo "<td>" . $baris[0] . "</td>";
echo "<td>" . $baris[1] . "</td>";
echo "<td>" . $baris[2] . "</td>";
echo "<td>" . $baris[3] . "</td>";
echo "<td><a href=form_edit.php?kode_buku=$baris[0]>Edit</a></td>";
echo "<td><a href=hapus.php?kode_buku=$baris[0]>Hapus</a></td>";
echo "</tr>";
}
?>
</table>
Sekilas mengenai komponen HTML yang digunakan yaitu perintah <tabel></tablet> digunakan untuk membuat tabel dan <tr> (table row) adalah perintah untuk membuat baris sedangkan <td> (table data) digunakan untuk membuat kolom.
Menyimpan Data
Untuk melakukan simpan data kita perlu membuat sebuah halaman untuk melakukan input data, pembuatan halaman input akan menggunakan perintah html form,tabel,input text,input submit.
buatlah sebuah nama file pada project anda dengan nama form_simpan.php kemudian masukan source code berikut :
<?php
try {
$koneksi = new PDO('mysql:host=localhost;dbname=perpustakaan', "root", "");
echo "koneksi berhasil";
} catch (PDOExcetion $mesaage) {
echo "koneksi gagal" . $message->getMessage();
}
$sql = "insert into buku (kode_buku,judul,pengarang,isbn) values (:kode_buku,:judul,:pengarang,:isbn)";
$query=$koneksi->prepare($sql);
$query->bindParam(':kode_buku', $_POST['kode_buku']);
$query->bindParam(':judul', $_POST['judul']);
$query->bindParam(':pengarang', $_POST['pengarang']);
$query->bindParam(':isbn', $_POST['isbn']);
$query->execute();
header("location:tampil.php");
?>
Sekarang coba program anda untuk melakukan pengetesan dan isikan datanya sesuai dengan kolom-kolom yang sudan disediakan. jika berhasil data akan tersimpan ke database dan halaman akan diarahkan kepada halaman tampil.php.
Mengubah Data
untuk mengubah data kita akan membuat sebuah file untuk mengambil data yang akan diubah dan menampilkan nya dalam sebuah halaman, tambahkan sebuah file dengan nama form_edit.php berikut adalah source code form_edit.php :
<?php
try {
$koneksi = new PDO('mysql:host=localhost;dbname=perpustakaan', "root", "");
} catch (PDOExcetion $mesaage) {
echo "koneksi gagal" . $message->getMessage();
}
$sql = "select * from buku";
$query = $koneksi->query($sql);
if (!isset($_GET['kode_buku'])) {
die("Error: kode buku tidak ditemukan");
}
$query = $koneksi->prepare("SELECT * FROM buku WHERE kode_buku = :kode_buku");
$query->bindParam(":kode_buku", $_GET['kode_buku']);
$query->execute();
if ($query->rowCount() == 0) {
die("Error: Buku tidak ditemukan.");
} else {
$data = $query->fetch();
}
?>
<!DOCTYPE html>
<html>
<head>
<title>CRUD PDO</title>
<meta charset="utf-8">
</head>
<body>
<h2>EDIT DATA</h2>
<form method="post" action="edit.php">
<table width="546" border="0">
<tr>
<td >Kode Buku</td>
<td >:</td>
<td >
<input type="text" name="kode_buku" value="<?php echo $data['kode_buku'] ?>" readonly="readonly">
</td>
</tr>
<tr>
<td>Judul</td>
<td >:</td>
<td >
<input type="text" name="judul" value="<?php echo $data['judul'] ?>">
</td>
</tr>
<tr>
<td>Pengarang</td>
<td>:</td>
<td>
<input name="pengarang" type="text" size="50" value="<?php echo $data['pengarang'] ?>">
</td>
</tr>
<tr>
<td>ISBN</td>
<td>:</td>
<td>
<input name="isbn" type="text" size="50" value="<?php echo $data['isbn'] ?>">
</td>
</tr>
<tr>
<td height="42"> </td>
<td></td>
<td>
<input type="submit" name="submit" value="EDIT">
</td>
</tr>
</table>
</form>
</body>
</html>
Dan menambahkan sebuah file dengan nama edit.php sebagai berikut :
<?php
try {
$koneksi = new PDO('mysql:host=localhost;dbname=perpustakaan', "root", "");
} catch (PDOExcetion $mesaage) {
echo "koneksi gagal" . $message->getMessage();
}
if (!isset($_POST['kode_buku'])) {
die("Error: kode buku tidak ditemukan");
}
if (isset($_POST['submit'])) {
$sql_ubah = "UPDATE buku SET judul=:judul,pengarang=:pengarang,isbn=:isbn WHERE kode_buku=:kode_buku";
$query = $koneksi->prepare($sql_ubah);
$query->bindParam(":judul", $_POST['judul']);
$query->bindParam(":pengarang", $_POST['pengarang']);
$query->bindParam(":isbn", $_POST['isbn']);
$query->bindParam(":kode_buku", $_POST['kode_buku']);
$query->execute();
header("location: tampil.php");
}
?>
Ketika ditekan tombol Edit maka hasilnya :
Jika berhasil data akan berubah dan halaman akan diarahkan ke file tampil.php.
Menghapus Data
untuk menghapus data kita membutuhkan sebuah file untuk melakukan proses hapus, tambahkan sebuah file hapus.php dan masukan source code sebagai berikut :
<?php
try {
$koneksi = new PDO('mysql:host=localhost;dbname=perpustakaan', "root", "");
if (isset($_GET["kode_buku"])) {
$kode_buku=$_GET["kode_buku"];
$sql = "delete from buku where kode_buku=:kode_buku";
$query = $koneksi->prepare($sql);
$query->bindParam(":kode_buku",$kode_buku);
$query->execute();
header("location:tampil.php");
}else
{
echo 'gagal hapus';
}
} catch (PDOExcetion $mesaage) {
echo "koneksi gagal" . $message->getMessage();
}
Posting Komentar untuk "Cara Membuat CRUD Menggunakan Query Prepare"