saling bergai ilmu

Kamis, 20 April 2017

CRUD Menggunakan PDO Dengan PHP

Disini saya akan jelaskan kembali bahwa PDO adalah singkatan dari PHP Data Object. PDO adalah extension di PHP yang digunakan untuk mengakses database. PDO menyediakan data-access abstraction layer yang memungkinkan kita menggunakan fungsi yang sama untuk berbagai jenis database. Jadi, anda tidak perlu kawatir tentang database yang anda pakai entah itu MySQL, MSSQL, Postgresql, atau Oracle fungsi yang anda pakai untuk mengambil atau memanipulasi database tetap sama. Begitulah kira-kira terjemahan umum tentang PDO. Nah di tutorial kali ini saya akan mencoba pempraktikan Membuat CRUD dengan PDO.

Bagaimana apakah anda penasaran?
Berikut langkahnya :

LANGKAH 1 : Membuat Database Dan Tabel Menggunakan MySQL

Buatlah Database dengan nama : dbjnm
Jika anda sudah mengikuti tutorial CRUD dengan Mysqli, anda tidak perlu membuat database lagi, karena namanya sama yaitu dbjnm
Oke, jika anda sudah mempunyai database dengan nama dbjnm, selanjutnya anda harus membuat tabel, nama tabelnya adalah tbl_siswa
Berikut SQL untuk membuat tbl_siswa
CREATE TABLE `tbl_siswa` (
  `nis` varchar(6) NOT NULL,
  `nama` varchar(50) NOT NULL,
  `alamat` varchar(100) NOT NULL,
  `kelas` varchar(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `tbl_siswa`
ADD PRIMARY KEY (`nis`);
dan berikut SQL untuk mengisi sample data pada tbl_siswa

INSERT INTO `tbl_siswa` (`nis`, `nama`, `alamat`, `kelas`) VALUES
('NIS001', 'Alfian Baharudin', 'Jl Pepaya No 55', '1'),
('NIS002', 'Bambang', 'Jl Durian No 44', '2'),
('NIS003', 'Alin Arfianti', 'Jl Anggur No 87', '1'),
('NIS004', 'Benny Ramdhani', 'Jl Duku No 35', '1'),
('NIS005', 'Ihwan Samad', 'Jl Belimbing No 99', '3'),
('NIS006', 'Rudi Syahputra', 'JL Dirgantara No 77', '2'),
('NIS007', 'Habibi', 'Jl Kungingan No 12', '1'),
('NIS008', 'Putri Sari', 'Jl Pisang Ijo No 89', '3'),
('NIS009', 'Wahyu Adi', 'Jl Kapuk No 66', '3'),
('NIS010', 'Budi Sakti', 'JL Nusantara No 1', '3'),
('NIS011', 'Akbar Rosidin', 'JL Palangka No 71', '2'),
('NIS012', 'Bagus Sandy', 'Jl. Juragan No 123', '2');

Jika sudah Membuat database, kemudian membuat tabel dan mengisi damplem data pada tbl_siswa, maka kita akan lanjut ke tahapan 2.

LANGKAH 2 : Membuat Koneksi Database Dengan PHP

Sebelum membuat koding koneksi database dengan PHP menggunakan metode PDO sesuai tema kita, maka kita harus membuat folder dulu pada web root atau htdocs pada xampp
Silahkan anda buat folder dengan nama siswa pada htocs
Kemudian buat file php dengan nama : koneksi.php
Berikut koding pada koneksi.php

<?php
    $host = "localhost";
    $dbname = "dbjnm";
    $username = "root";
    $password = "";
    try {
        $db = new PDO("mysql:host={$host};dbname={$dbname}", $username, $password);
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch (PDOException $exception){
        die("Connection error: " . $exception->getMessage());
    }
?>

LANGKAH 3 : Membuat File index.php

Fungsi file index.php ini untuk memunculkan data yang ada di tbl_siswa dan dimunculkan kedalam halaman php. silahkan anda buat file dengan nama index.php
kemudian masukan koding dibawah ini pada file index.php
<?php
    include 'koneksi.php';
    $query = $db->prepare("SELECT * FROM tbl_siswa");
    $query->execute();
    $data = $query->fetchAll();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CRUD PDO Javanet Media </title>
</head>
<body bgcolor="#CCCCCC">
<h2><strong><p align="center">Data Siswa JavaNet Media</p></strong></h2>
<table width="807" border="1" cellpadding="0" cellspacing="0" align="center">
  <tr>
    <td width="115" height="30" align="center" valign="middle" bgcolor="#00FFFF">NIS</td>
    <td width="175" align="center" valign="middle" bgcolor="#00FFFF">Nama</td>
    <td width="250" align="center" valign="middle" bgcolor="#00FFFF">Alamat</td>
    <td width="100" align="center" valign="middle" bgcolor="#00FFFF">Kelas</td>
    <td width="135" align="center" valign="middle" bgcolor="#00FFFF"><a href="create.php">TAMBAH</a></td></tr>
            <?php foreach ($data as $value): ?>
                <tr>
                    <td p align="center" bgcolor="#FFFFFF"><?php echo $value['nis'] ?></td>
                    <td p align="left" bgcolor="#FFFFFF"><?php echo $value['nama'] ?></td>
                    <td p align="left" bgcolor="#FFFFFF"><?php echo $value['alamat'] ?></td>
                    <td p align="center" bgcolor="#FFFFFF"><?php echo $value['kelas'] ?></td>
                    <td p align="center" bgcolor="#FFFFFF">
                        <a href="edit.php?nis=<?php echo $value['nis']?>">Edit</a>
                        <a href="delete.php?nis=<?php echo $value['nis']?>">Delete</a>
                    </td>
                </tr>
 </td>
  </tr>
<?php endforeach; ?>
</table>
<p align="center"><a href=http://www.mycoding.net#>www.mycoding.net</a></p>
</body>
</html>

Sampai disini, silahkan anda buka browser anda, kemudian buka alamat : http://localhost/siswa/
Seharunya muncul gambar seperti dibawah ini :
Tutorial Membuat CRUD Menggunakan PDO Dengan PHP
Fungsi TAMBAH, kemudian Edit dan Delete belum bisa diakses karena anda belum membuat fungsi tersebut.

LANGKAH 4 : Membuat create.php Untuk Input Data

Jika pada langkah 3 anda telah bisa memunculkan data pada pada halaman php, maka selanjutnya adalah kita membuat file php untuk proses penambahan data atau input data.
Masukan koding dibawah ini pada create.php
<?php
    include 'koneksi.php';
    if(isset($_POST['submit'])){
        $nis = htmlentities($_POST['nis']);
  $nama = htmlentities($_POST['nama']);
        $alamat = htmlentities($_POST['alamat']);
        $kelas = htmlentities($_POST['kelas']);
        $query = $db->prepare("INSERT INTO `tbl_siswa`(`nis`,`nama`, `alamat`, `kelas`)
        VALUES (:nis,:nama,:alamat,:kelas)");
  $query->bindParam(":nis", $nis);
        $query->bindParam(":nama", $nama);
        $query->bindParam(":alamat", $alamat);
        $query->bindParam(":kelas", $kelas);
        $query->execute();
        header("location: index.php");
    }
?>
<!DOCTYPE html>
<html>
    <head>
     <meta charset="utf-8">
  <title>CRUD PDO Javanet Media </title>
    </head>
<body bgcolor="#CCCCCC">
<h2><p align="center">TAMBAH DATA</p></h2>
<form method="post">
<table width="546" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF">
  <tr>
    <td width="189" height="20"> </td>
    <td width="26"> </td>
    <td width="331"> </td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">NIS</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <input name="nis" type="text" size="10">
    </label></td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Nama</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <input type="text" name="nama">
    </label></td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Alamat</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <input name="alamat" type="text" size="50">
    </label></td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Kelas</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <select name="kelas">
    <option selected="selected">--Pilih--</option>
  <option>1</option>
  <option>2</option>
  <option>3</option>
      </select>
    </label></td>
  </tr>
  <tr>
    <td height="42"> </td>
    <td> </td>
    <td><input type="submit" name="submit" value="TAMBAH"></td>
  </tr>
</table>
</form><p align="center"><a href=http://www.mycoding.net#>www.mycoding.net</a></p>
</body>
</html>

Jika sudah membuat create.php seperti langkah diatas, maka anda bisa membuka aplikasi kembali. Kemudian anda coba memasukan data dengan Klik TAMBAH, kemudian masukan data pada form tambah.
Cara Membuat CRUD PDO pada PHP
Baik, saya coba tanya kepada anda Apakah anda sudah bisa Input Data? Jika belum silahkan anda cek kembali apakah ada yang kurang, atau jika anda sudah bisa Input data maka silahkan lanjut ke langkah edit data

LANGKAH 5 : Membuat edit.php Untuk Edit Data

Jika anda sudah bisa input data maka siapkan file edit.php kemudian masukan koding dibawah ini :
<?php
    include 'koneksi.php';
    if(!isset($_GET['nis'])){
        die("Error: NIS Tidak Dimasukkan");
    }
    $query = $db->prepare("SELECT * FROM `tbl_siswa` WHERE nis = :nis");
    $query->bindParam(":nis", $_GET['nis']);
    $query->execute();
    if($query->rowCount() == 0){
        die("Error: NIS Tidak Ditemukan");
    }else{
        $data = $query->fetch();
    }
    if(isset($_POST['submit'])){
        $nama = htmlentities($_POST['nama']);
        $alamat = htmlentities($_POST['alamat']);
        $kelas = htmlentities($_POST['kelas']);
        $query = $db->prepare("UPDATE `tbl_siswa` SET `nama`=:nama,`alamat`=:alamat,`kelas`=:kelas WHERE nis=:nis");
        $query->bindParam(":nama", $nama);
        $query->bindParam(":alamat", $alamat);
        $query->bindParam(":kelas", $kelas);
        $query->bindParam(":nis", $_GET['nis']);
        $query->execute();
        header("location: index.php");
    }
?>

<!DOCTYPE html>
<html>
    <head>
 <title>CRUD PDO Javanet Media </title>
    <meta charset="utf-8">
    </head>
 <body bgcolor="#CCCCCC">
    <h2><p align="center">EDIT DATA</p></h2>
    <form method="post">
 <table width="546" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" align="center">
  <tr>
    <td width="189" height="20"> </td>
    <td width="26"> </td>
    <td width="331"> </td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">NIS</td>
    <td align="center" valign="top">:</td>
    <td valign="middle">
      <input type="text" name="nis" value="<?php echo $data['nis'] ?>" readonly="readonly"> 
    </td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Nama</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <input type="text" name="nama" value="<?php echo $data['nama'] ?>">
    </label></td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Alamat</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <input name="alamat" type="text" size="50" value="<?php echo $data['alamat'] ?>">
    </label></td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Kelas</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
  <input name="kelas" type="text" size="50" value="<?php echo $data['kelas'] ?>">
    </label></td>
  </tr>
  <tr>
    <td height="42"> </td>
    <td> </td>
    <td><input type="submit" name="submit" value="EDIT"></td>
  </tr>
  </table>
  </form><p align="center"><a href=http://www.mycoding.net#>www.mycoding.net</a></p>
  </body>
</html>

Silahkan jalankan edit data, contoh Namanya anda ganti, atau Alamat atau Kelas terserah anda. Kemudian Klik tombol Edit.
Tutorial Membuat CRUD Menggunakan PDO Dengan PHP

LANGKAH 6 : Membuat delete.php Untuk Hapus Data

Langkah 6 atau langkah terakhir adalah membuat file PHP untuk hapus data yaitu delete.php
Silahkan masukan koding dibawah ini pada delete.php
<?php
    include 'koneksi.php';

    if(isset($_GET["nis"])){
        // Prepared statement untuk menghapus data
        $query = $db->prepare("DELETE FROM `tbl_siswa` WHERE nis=:nis");
        $query->bindParam(":nis", $_GET["nis"]);
        // Jalankan Perintah SQL
        $query->execute();
        // Alihkan ke index.php
        header("location: index.php");
    }
?>

Berikut tampilannya :
CRUD PHP PDO




,

Tidak ada komentar:

Posting Komentar