![]() |
Images Aplikasi CRUD |
Pada postingan ini saya akan memberikan tutorial Cara Membuat Aplikasi CRUD(Create Read Update Delete) dengan PDO. Sebelum membahas tutorial ini, kita akan sedikit berkenalan dengan PDO ini. Dari hasil telusuran saya di internet, PDO ini memiliki singkatan yaitu PHP Data Objects. PDO adalah cara yang ramping atau konsisten dalam mengakses database. Yang berarti para developers dapat menulis kode yang sederhana atau portable yang jauh lebih mudah. PDO lebih dikenal seperti lapisan akses data yang menggunakan API terpadu (Application Programming Interface). Oke, itulah sedikit dari kenalan dari PDO ini, dan untuk tutorialnya berikut langkah Cara Membuat Aplikasi CRUD(Create Read Update Delete) dengan PDO :
Buatlah sebuah folder latihan di htdocs anda, lalu buat 5 file baru yaitu koneksi.php, create.php, tampil.php, delete.php, edit.php. Setelah anda membuat file tersebut, anda dapat menerapkan skrip dibawah sesuai dengan file tersebut.
koneksi.php
<?php
$host = "localhost";
$namaDb = "latihan";
$user = "root";
$pass = "";
try {
$koneksi = new PDO("mysql:host={$host}; dbname={$namaDb}", $user, $pass);
}
//Untuk menangani koneksi error
catch(PDOException $exception) {
echo "Connection error :" .$exception->getMessage();
}
?>
create.php
<!DOCTYPE html>
<html>
<head>
<title>Aplikasi CRUD dengan PDO</title>
</head>
<body>
<?php
$aksi = isset($_POST['aksi']) ? $_POST['aksi'] : "";
if($aksi == 'create') {
//Include database
include 'koneksi.php';
try {
//Menulis query
$query = "INSERT INTO biodata SET nama = :nama, kelas = :kelas, alamat = :alamat, agama = :agama, hobi = :hobi";
//mempersiapkan query untuk dieksekusi
$stmt = $koneksi->prepare($query);
//bindParam digunakan untuk mengikat parameter untuk variabel tertentu
$stmt -> bindParam(':nama', $_POST['nama']);
$stmt -> bindParam(':kelas', $_POST['kelas']);
$stmt -> bindParam(':alamat', $_POST['alamat']);
$stmt -> bindParam(':agama', $_POST['agama']);
$stmt -> bindParam(':hobi', $_POST['hobi']);
//Mengeksekusi pernyataan query
if ($stmt->execute()) {
echo "<script language = 'javascript'>
alert('Berhasil Memasukkan data');
window.location = 'create.php';
</script>
";
} else {
echo "<script language = 'javascript'>
alert('Gagal Memasukkan data nama = :nama');
window.location = 'create.php';
</script>
";
}
}
catch(PDOException $exception) {
echo "Error : " .$exception->getMessage();
}
}
?>
<!--- Form Input -->
<form action="#" method="post" />
<table>
<tr>
<td>Nama</td>
<td><input type="text" name="nama" /></td>
</tr>
<tr>
<td>Kelas</td>
<td><input type="text" name="kelas" /></td>
</tr>
<tr>
<td>Alamat</td>
<td><input type="text" name="alamat" /></td>
</tr>
<tr>
<td>Agama</td>
<td><input type="text" name="agama" /></td>
</tr>
<tr>
<td>Hobi</td>
<td><input type="text" name="hobi" /></td>
</tr>
<tr>
<td>
<input type="hidden" name="aksi" value="create" />
<input type="submit" value="Insert" />
<input type="reset" value="Reset" />
</td>
</tr>
</table>
</form>
</body>
</html>
tampil.php
<!DOCTYPE html>
<html>
<head>
<title>Aplikasi CRUD dengan PDO</title>
</head>
<body>
<?php
$action = isset($_GET['action']) ? $_GET['action'] : "";
//jika dialihkan dari delete.php
if($action == 'hapus') {
echo "<script language = 'javascript'>
alert('Berhasil Hapus Data');
window.location = 'tampil.php';
</script>
";
}
//menginclude database
include 'koneksi.php';
//memilih semua field
$query = "SELECT * FROM biodata";
//mempersiapkan query untuk di eksekusi
$stmt = $koneksi->prepare($query);
//mengeksekusi pernyataan query
$stmt -> execute();
//untuk mendapatkan jumlah baris
$num = $stmt->rowCount();
if ($num > 0) {
echo "<table border = '1'>
<tr>
<th>No.</th>
<th>Nama</th>
<th>Kelas</th>
<th>Alamat</th>
<th>Agama</th>
<th>Hobi</th>
<th colspan = '2'>Aksi</th>
</tr>
";
$no = 0;
//mengambil isi tabel
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
//ekstrak baris
extract($row);
$no++;
echo "<tr>
<td>$no</td>
<td>{$nama}</td>
<td>{$kelas}</td>
<td>{$alamat}</td>
<td>{$agama}</td>
<td>{$hobi}</td>
<td>
<a href='edit.php?id={$id}'>Edit</a>
<a href='#' onclick='hapus_data({$id})'>Hapus</a>
</td>
</tr>
";
}
echo "</table>";
} else {
echo "Tidak ada Data ditemukan";
}
?>
<script type="text/javascript">
function hapus_data(id) {
var answer = confirm('Apakah Anda Yakin.?')
if(answer) {
window.location = 'delete.php?id=' +id;
}
}
</script>
</body>
</html>
delete.php
<?php
//menginclude database
include 'koneksi.php';
try {
//delete query
$query = "DELETE FROM biodata WHERE id = :id";
//mempersiapkan query yang akan dieksekusi
$stmt = $koneksi->prepare($query);
//mengikat parameter
$stmt -> bindParam(':id', $_GET['id']);
//Mengeksekusi pernyataan query
if($result = $stmt->execute()) {
header('location: tampil.php?action=hapus');
} else {
echo "<script language = 'javascript'>
alert('Gagal Hapus Data');
window.location = 'tampil.php';
</script>
";
}
}
catch(PDOException $exception) {
echo "Error :" .$exceptio->getMessage();
}
?>
edit.php
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
//menginclude database
include 'koneksi.php';
$action = isset($_POST['action']) ? $_POST['action'] : "";
if($action == "edit") {
try {
//membuat query
$query = "UPDATE biodata SET nama = :nama, kelas = :kelas, alamat = :alamat, agama = :agama, hobi = :hobi WHERE id = :id";
//mempersiapkan query untuk dieksekusi
$stmt = $koneksi->prepare($query);
//mengikat parameter
$stmt -> bindParam(':nama', $_POST['nama']);
$stmt -> bindParam(':kelas', $_POST['kelas']);
$stmt -> bindParam(':alamat', $_POST['alamat']);
$stmt -> bindParam(':agama', $_POST['agama']);
$stmt -> bindParam(':hobi', $_POST['hobi']);
$stmt -> bindParam(':id', $_POST['id']);
//mengeksekusi query
if($stmt -> execute()) {
echo "<script language = 'javascript'>
alert('Berhasil Update Data');
window.location = 'tampil.php';
</script>
";
} else {
echo "<script language = 'javascript'>
alert('Gagal Update Data');
window.location = 'tampil.php';
</script>
";
}
}
catch(PDOException $exception) {
echo "Error :" .$exception -> getMessage();
}
}
try {
//Membuat query untuk menampilkan data
$query = "SELECT * FROM biodata WHERE id = :id LIMIT 0,1";
//mempersiapkan query untuk dieksekusi
$stmt = $koneksi -> prepare($query);
//mengikat parameter
$stmt -> bindParam(':id', $_REQUEST['id']);
//mengeksekusi query
$stmt -> execute();
//mengambil baris
$row = $stmt->fetch(PDO::FETCH_ASSOC);
//nilai untuk mengisi form
$id = $row['id'];
$nama = $row['nama'];
$kelas = $row['kelas'];
$alamat = $row['alamat'];
$agama = $row['agama'];
$hobi = $row['hobi'];
}
catch(PDOException $exception) {
echo "Error :" .$exception -> getMessage();
}
?>
<!--- Form Input -->
<form action="#" method="post" />
<table>
<tr>
<td>Nama</td>
<td><input type="text" name="nama" value="<?php echo $nama; ?>" /></td>
</tr>
<tr>
<td>Kelas</td>
<td><input type="text" name="kelas" value="<?php echo $kelas; ?>" /></td>
</tr>
<tr>
<td>Alamat</td>
<td><input type="text" name="alamat" value="<?php echo $alamat; ?>" /></td>
</tr>
<tr>
<td>Agama</td>
<td><input type="text" name="agama" value="<?php echo $agama; ?>" /></td>
</tr>
<tr>
<td>Hobi</td>
<td><input type="text" name="hobi" value="<?php echo $hobi; ?>" /></td>
</tr>
<tr>
<td>
<input type="hidden" name="id" value="<?php echo $id ?> /">
<input type="hidden" name="action" value="edit" />
<input type="submit" value="Update" />
<input type="reset" value="Reset" />
</td>
</tr>
</table>
</form>
</body>
</html>
Berikut sedikit pengertian fungsi-fungsi statement di PDO ini.
preparedigunakan untuk mengeksekusi dan mengambil sebuah objek pernyataan.
bindParam digunakan mengikat parameter untuk nama variabel tertentu.
Execute digunakan untuk mengeksekusi pernyataan query.
PDOExceptionmerupakan class PDOException.
Sampai disini tutorial yang sederhana, semoga tutorial Cara Membuat Aplikasi CRUD(Create Read Update Delete) dengan PDO dapat bermanfaat bagi anda. Luangkan waktu anda untuk mengshare artikel ini. Terima kasih.
0 Response to " Cara Membuat Aplikasi CRUD(Create Read Update Delete) dengan PDO "
Posting Komentar