Kosong

Cara Membuat Aplikasi CRUD(Create Read Update Delete) dengan PDO

Cara Membuat Aplikasi CRUD(Create Read Update Delete) dengan PDO
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.
prepare digunakan untuk mengeksekusi dan mengambil sebuah objek pernyataan.
bindParam digunakan mengikat parameter untuk nama variabel tertentu.
Execute digunakan untuk mengeksekusi pernyataan query.
PDOException merupakan 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.
Previous
Next Post »

2 komentar

Click here for komentar
10 Juli 2015 pukul 21.04 ×

Terima kasih mas caranya, mau saya praktekan :)

Reply
avatar
Unknown
admin
12 Juli 2015 pukul 10.11 ×

Sama-sama mas, trima kasih juga buat kunjungannya

Reply
avatar

1. Tinggalkan Komentar Yang Positif, Kritik, dan Tidak Menjatuhkan!
2. Gunakan Emoticon yang sesuai dan tulis kode nya di kolom komentar!
3. Berkomentarlah sesuai dengan topik yang dibicarakan!
4. No SARA, kata - kata tidak sopan, berbau pornografi, LINK AKTIF tidak akan di approve !
5. Komentar anda akan di tampilkan setelah disetujui . ConversionConversion EmoticonEmoticon