Friday, April 18, 2014

Belajar Menggunakan PDO (PHP Data Object)

Assalamualikum Wr. Wb.

Kali ini, saya memposting tugas dari Pak Adnan Tawaffani yang sudah selesai saya kerjakan. Beliau telah membuat video tutorialnya dan akan diupload beberapa hari lagi, nanti ane share deh gan kalo uda diupload :-P hihihihi
Punya saya tidak 100% sama kayak di tutorial karena sudah saya tambah- tambahin. :-D
Nah, ini adalah contoh cara menggunakan PDO.
  • Buat dahulu database, tabel & kolom- kolom seperti ini gan.


  • Di page index.php saya:
<?php
//koneksi
$db = new PDO("mysql:host=localhost;dbname=universitas","root","");



//Perintah Query

if (isset($_GET["aksi"]) == "hapus") {
$perintahQuery = $db->prepare("DELETE FROM mahasiswa WHERE id = ? ");
$perintahQuery->bindParam(1, $_GET['id']);
$perintahQuery->execute();
}

if (isset($_GET["q"])) {

$perintahQuery = $db->prepare("SELECT id, nim, nama, inisial FROM mahasiswa WHERE nim LIKE ? OR nama LIKE ? OR inisial LIKE ? ORDER BY nama");
$nim = '%'.$_GET["q"].'%';
$nama = '%'.$_GET["q"].'%';
$inisial = '%'.$_GET["q"].'%';
$perintahQuery->bindParam(1,$nim);
$perintahQuery->bindParam(2,$nama);
$perintahQuery->bindParam(3,$inisial);
}
else{

$perintahQuery = $db->prepare("SELECT id, nim, nama, inisial FROM mahasiswa ORDER BY nama");
}
$perintahQuery->execute();
$hasilQuery = $perintahQuery->fetchALL(PDO::FETCH_OBJ);

?>
<html>
<head>
<title>Belajar PDO 1</title>
</head>
<body bgcolor="lavender">
<font face="Poor Richard">

<form method="get" action="index.php" name="frm_pencarian" align="right">
<label>Cari Mahasiswa</label>
<input name="q" type="text">
<input value="Cari" type="submit">
</form>

<h1 align="center"> Data Mahasiswa</h1>

</br>
<img src="female_student.png" align="left" width="200" height="300"> <img src="male_student.png" align="right" width="200" height="300">

<table align="center"> <tr><td width="600"><a href="insert_mahasiswa.php">Tambah Data Mahasiswa</a><td><tr></table>


<table border=1 align="center">
<tr>
<th width="150">NIM</th><th width="300">Nama</th><th>Inisial</th><th>Aksi</th>
</tr>
<?php foreach($hasilQuery as $mahasiswa) {?>
<tr>
<td width="150"><?php echo $mahasiswa->nim; ?></td>
<td width="300"><?php echo $mahasiswa->nama; ?></td>
<td><?php echo $mahasiswa->inisial ?></td>
<td>
<a href="index.php?id=<?php echo $mahasiswa->id; ?>&aksi=hapus" onclick="return confirm('Apakah Anda yakin akan menghapus data mahasiswa <?php echo $mahasiswa->nama;?>?'); ">Hapus</a>|
<a href="edit_mahasiswa.php?id=<?php echo $mahasiswa->id ?>">Edit</a>
</td>
</tr>
<?php } ?>
</table></font>
</body>
</html>

tampilannya jadi seperti ini:

  • Jika klik "Hapus" maka akan muncul pertanyaan dan bila Ok/Ya, data tersebut akan dihapus.



  • Bila memasukan suatu kata, contoh "anggun" di textbox Cari Mahasiswa kemudian klik tombol "Cari", maka akan muncul seperti ini:


  • Berikut ini isi dari halaman "insert_mahasiswa.php":
<?php
if ($_POST) {

$db= new PDO("mysql:host=localhost; dbname=universitas", "root","");
$perintahQuery = $db->prepare("INSERT INTO mahasiswa(nim,nama,inisial,id) VALUES (?,?,?,?) ");
$perintahQuery->bindParam(1, $_POST['nim']);
$perintahQuery->bindParam(2, $_POST['nama']);
$perintahQuery->bindParam(3, $_POST['inisial']);
$perintahQuery->bindParam(4, $_POST['id']);

$perintahQuery->execute();
header("location:index.php");
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Tambah Data Mahasiswa</title>
</head>
<body align="center" background="female_student.png">
<br>
<br><br>
<br><br>
<br><br>
<br>
<h1> <font face="Poor Richard"  color="purple">Tambah Data Mahasiswa</h1>
<form method="post" action="insert_mahasiswa.php" name="frm_insert">
<table align="center">
<tr>
<td width="50">ID</td>
<td><input type="text" name="id"></td>
</tr>
<tr>
<td width="50">NIM</td>
<td><input type="text" name="nim"></td>
</tr>
<tr>
<td>Nama</td>
<td><input type="text" name="nama"></td>
</tr>
<tr>
<td>Inisial</td>
<td><input type="text" name="inisial"></td>
</tr><tr><td colspan="2"> <input type="submit" value="Simpan"></td></tr>
</table>

</form>
</font>

</body>
</html>
  • Maka bila klik Tambahkan Data Mahasiswa di index, akan muncul:

  • Dan ini halaman  "edit_mahasiswa.php":

<?php

$db= new PDO("mysql:host=localhost; dbname=universitas", "root","");

if ($_GET["id"]) {

$perintahQuery= $db->prepare("SELECT * FROM mahasiswa WHERE id = ?");
$perintahQuery->bindParam(1,$_GET['id']);
$perintahQuery->execute();

$mahasiswa  = $perintahQuery->fetch(PDO::FETCH_OBJ);
}

if ($_POST) {

$nim = $_POST['nim'];
$nama= $_POST['nama'];
$inisial= $_POST['inisial'];
$id= $_POST['id'];

$perintahQuery = $db->prepare("UPDATE mahasiswa SET nim=?, nama=?, inisial=? WHERE id=?");
$perintahQuery->bindParam(1, $nim);
$perintahQuery->bindParam(2, $nama);
$perintahQuery->bindParam(3, $inisial);
$perintahQuery->bindParam(4, $id);

$perintahQuery->execute();
header("location:index.php");
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Edit Data Mahasiswa</title>
</head>
<body align="center" background="male_student.png">
<font face="Poor Richard"  color="red">
<br>
<br><br>
<br><br>
<br><br>
<br>
<h1>Edit Data Mahasiswa</h1>
<form method="post" action="edit_mahasiswa.php" name="frm_edit">
<input type="hidden" name="id" value="<?php echo $mahasiswa->id; ?>">
<table align="center">
<tr>
<td width="50">NIM</td>
<td><input type="text" name="nim" value="<?php echo $mahasiswa->nim; ?>"></td>
</tr>
<tr>
<td>Nama</td>
<td><input type="text" name="nama" value="<?php echo $mahasiswa->nama; ?>"></td>
</tr>
<tr>
<td>Inisial</td>
<td><input type="text" name="inisial" value="<?php echo $mahasiswa->inisial; ?>"></td>
</tr>
</table>
<input type="submit" value="Simpan">
</form>
</font>
</body>
</html>

  • Ini tampilan halaman Edit bila kita klik "Edit" di kolom "Aksi":






**Selamat Mencoba**
~~~Semoga Berhasil, Amin!!~~~

wAssalamualikum Wr. Wb.

No comments:

Post a Comment