Tampilkan postingan dengan label pdo. Tampilkan semua postingan

Cara Membuat CRUD dengan PHP Menggunakan PDO



Pada Kesempatan ini kita akan membuat CRUD menggunakan PDO, dalam PDO ada beberapa perbedaan dibanding dengan CRUD menggunakan MYSQLi. pada CRUD ini akan kita buat berbasis Objek (OOP).

pertama buat dulu database nya dengan nama mycrud lalu buat tabel person dengan record id, nama dan alamat. seperti ini:

CREATE TABLE IF NOT EXISTS `person` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nama` varchar(50) NOT NULL,
  `alamat` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

Buat dulu folder projeknya disini saya menggunakan nama folder  mycrud lalu kita buat koneksi ke database dengan kode seperti ini:

<?php

$db = new PDO('mysql:host=localhost;dbname=mycrud', 'root', '');

Simpan kode diatas dengan nama database.php. pada kode diatas penulisan PHPnya seperti di CodeIgniter tidak ditutup karena berbasis Objek. lalu buat form input scripnya seperti ini:

<?php include "database.php"; ?>
<form action="input.php" method="post">
  Nama: <input type="text" name="nama"><br>
  Alamat: <input type="text" name="alamat"><br>
  <button type="submit">Kirim</button>
</form>
<br>
<table border="1">
<thead>
  <tr>
    <th>No</th>
    <th>Nama</th>
    <th>Alamat</th>
    <th colspan="2">Operasi</th>
  </tr>
</thead>
  <?php
  $query = "SELECT * FROM person";
  $data = $db->prepare($query);
  $data->execute();
  $no=1;
  while($person = $data->fetch(PDO::FETCH_OBJ)){
  ?>
<tbody>
  <tr>
    <td><?php echo $no ?></td>
    <td><?php echo $person->nama ?></td>
    <td><?php echo $person->alamat ?></td>
    <td><a href="form_edit.php?id=<?php echo $person->id ?>">Edit</a></td>
    <td><a href="delete.php?id=<?php echo $person->id ?>">Delete</a></td>
  </tr>
  <?php $no++;
  } ?>
</tbody>
</table>

simpan kode diatas dengan nama index.php lalu buat kode proses untuk menyimpan data ke database seperti ini:

<?php

include "database.php";

$query  = "INSERT INTO person VALUES ('', '$_POST[nama]', '$_POST[alamat]')";
$data   = $db->prepare($query); //Menyiapkan query SQL
$data->execute();               //Menjalankan query SQL
header("location: index.php");

Simpan kode diatas dengan nama input.php. lalu buat form edit untuk mengedit data seperti dibawah ini:

<?php include "database.php";
$query = "SELECT * FROM person WHERE id='$_GET[id]'";
$data = $db->prepare($query);
$data->execute();

$person = $data->fetch(PDO::FETCH_OBJ);
?>
<h3>Form Edit</h3>
<form action="edit.php" method="post">
  <input type="hidden" name="id" value="<?php echo $person->id ?>">
  Nama: <input type="text" name="nama" value="<?php echo $person->nama ?>"><br>
  Alamat: <input type="text" name="alamat" value="<?php echo $person->alamat ?>"><br>
  <button type="submit">Kirim</button>
  <a href="index.php">Kembali</a>
</form>

Simpan Kode diatas dengan nama form_edit.php. selanjutnya buat proses edit nya seperti dibawah:

<?php
include "database.php";

$query = "UPDATE person SET nama='$_POST[nama]', alamat='$_POST[alamat]' WHERE id='$_POST[id]'";
$data  = $db->prepare($query);
$data->execute();

header("location: index.php");

Simpan kode diatas dengan nama edit.php. lalu terakhir buat file delete.php untuk menghapus sourcenya seperti dibawah:

<?php

include 'database.php';

$query = "DELETE FROM person WHERE id='$_GET[id]'";
$data  = $db->prepare($query);
$data->execute();

header("location: index.php");

Ok. itulah tutorial cara membuat CRUD dengan PHP menggunakan PDO. semoga bermanfaat