Selasa, 25 Oktober 2016

CARA MEMBUAT CRUD OOP MENGGUNAKN PDO

Apa Itu PDO?

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.

Oke, setelah anda mengenal PDO sekarang kita bisa memulai untuk membuat aplikasi CRUD kita.

Step 1: Membuat Database

Langkah pertama yang perlu anda lakukan adalah membuat database yang akan digunakan, anda bisa membuatnya menggunakan phpMyAdmin. Database yang akan kita gunakan akan diberi nama crud_oop

Step 2: Membuat Table

Setelah membuat database, kita harus membuat table dengan nama tbBiodata dengan struktur seperti gambar berikut:

Anda bisa membuat table dengan struktur tersebut dengan menjalankan peritah SQL berikut:

 CREATE TABLE `mahasiswa` (
  `id` int(11) NOT NULL,
  `nim` varchar(20) NOT NULL,
  `nama` varchar(30) NOT NULL,
  `tempat_lahir` varchar(30) NOT NULL,
  `tanggal_lahir` date NOT NULL,
  `jenis_kelamin` enum('Laki-laki','Perempuan') NOT NULL,
  `agama` enum('Islam','Kristen','Katholik','Hindu','Budha','Konghuchu') NOT NULL,
  `alamat` varchar(100) NOT NULL,
  `no_telepon` varchar(12) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Setelah anda mebuat table anda bisa mengisi data di table tersebut sesuai keinginan atau dengan menjalankan perintah SQL berikut:
 
 INSERT INTO `mahasiswa` (`id`, `nim`, `nama`, `tempat_lahir`, `tanggal_lahir`, `jenis_kelamin`, `agama`, `alamat`, `no_telepon`) VALUES
(1, '16001', 'Danang Kusuma', 'Bandar Lampung', '1990-02-01', 'Laki-laki', 'Islam', 'Jalan Gatot Subroto No. 10, Bandar Lampung', '085758857775'),
(2, '16002', 'Isyana Sarasvati', 'Jakarta', '1993-05-02', 'Perempuan', 'Islam', 'Jalan Pagar Alam No. 15, Kedaton, Bandar Lampung', '085789892909'),
(3, '16003', 'Indra Styawantoro', 'Purbolinggo', '1991-05-15', 'Laki-laki', 'Islam', 'Perum Griya Gedung Meneng Blok C2 No. 2, Rajabasa, Bandar Lampung', '085669919769'),
(4, '16004', 'Maudy Ayunda', 'Jakarta', '1994-12-19', 'Perempuan', 'Islam', 'Jalan Radin Intan No. 77, Tanjung Karang, Bandar Lampung', '089977955772'),
(5, '16005', 'Valentino Rossi', 'Metro', '1979-03-16', 'Laki-laki', 'Islam', 'Jalan Zaenal Abidin Pagaralam No. 1, Bandar Lampung', '081922919212'),
(6, '16006', 'Raisa Andriana', 'Jakarta', '1990-06-06', 'Perempuan', 'Islam', 'Jalan Yos Sudarso No. 135, Bandar Lampung', '081388955767'),
(7, '16007', 'Cristiano Ronaldo', 'Teluk Betung', '1986-02-25', 'Laki-laki', 'Islam', 'Jalan Teuku Umar No. 52, Kedaton Bandar Lampung', '081269962201'),
(8, '16008', 'M Muzaqi', '', '0000-00-00', '', '', '', ''),
(9, '099023022', 'Nia Ramadhani', 'Jakarta', '1996-02-01', 'Perempuan', 'Islam', 'Cengkareng Barat', '12345678'),
(10, '109209381', 'Frienly Faisal', '', '0000-00-00', 'Laki-laki', '', '', '');

Saatnya coding! 
buatlah foldel di C:\xampp\htdocs\kita beri nama 'pdo_oop' 
Source Code yang pertama 1 Sekarang kita buat file untuk koneksi ke database mysql misal kita beri nama "library.php" berikut source codenya :
  
 db = new PDO('mysql:host=localhost;dbname=crud_oop','root','');
  }
  public function tambahMhs($nim, $nama, $tempat_lahir, $tanggal_lahir, 
$jenis_kelamin, $agama, $alamat, $no_telepon){
   $sql = "INSERT INTO mahasiswa (nim, nama, tempat_lahir, tanggal_lahir, 
jenis_kelamin, agama, alamat, no_telepon) VALUES('$nim', '$nama', '$tempat_lahir', '$tanggal_lahir', '$jenis_kelamin', '$agama', '$alamat', '$no_telepon')";
   $query = $this->db->query($sql);
   if(!$query){
    return "Failed";
   }
   else{
    return "Success";
   }
  }
  public function editMhs($id){
   $sql = "SELECT * FROM mahasiswa where id='$id'";
   $query = $this->db->query($sql);
   return $query;
  }
  public function updateMhs($nim, $nama, $tempat_lahir, $tanggal_lahir,
 $jenis_kelamin, $agama, $alamat, $no_telepon){
   $sql = "UPDATE mahasiswa SET nim='$nim', nama='$nama', 
tempat_lahir='$tempat_lahir', tanggal_lahir='$tanggal_lahir', 
jenis_kelamin='$jenis_kelamin', agama='$agama', alamat='$alamat', 
no_telepon='$no_telepon' WHERE nim='$nim'";
   $query = $this->db->query($sql);
   if(!$query){
    return "Failed";
   }
   else{
    return "Success";
   }
  }
    
  public function showmahasiswa(){
   $sql = "SELECT * FROM mahasiswa order by id desc";
   $query = $this->db->query($sql);
   return $query;
  }
  public function deleteMhs($nim){
   $sql = "DELETE FROM mahasiswa WHERE nim='$nim'";
   $query = $this->db->query($sql);
if(!$query){
 return "Failed";
 }
 else{
 return "Success";
 } }
 }
?>
 
 Sourcode yang ke 2 : kita beri nama "index.php" berikut source codenya :

  <!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>List Mahasiswa</title>
  <!-- Latest compiled and minified CSS -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/
bootstrap/3.3.7/css/bootstrap.min.css" integrity=
"sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" 
crossorigin="anonymous">
  <!-- Latest compiled and minified JavaScript -->
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.
min.js" integrity="
sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" 
crossorigin="anonymous"></script>
 </head>

 <body>
  <div class="container">
   <h2>Daftar Nama Mahasiswa</h2>
   <table class="table">
    <tr>
     <td>NIM</td>
     <td>Nama</td>
     <td>Jenis Kelamin</td>
     <td>Alamat</td>
     <td>Edit</td>
     <td>Delete</td>
    </tr>
    <?php
    require("library.php");
    $Lib = new Library();
    $show = $Lib->showmahasiswa();
    while($data = $show->fetch(PDO::FETCH_OBJ)){
    echo "
    <tr>
     <td>$data->nim</td>
     <td>$data->nama</td>
     <td>$data->jenis_kelamin</td>
     <td>$data->alamat</td>
     <td><a class='btn btn-info' href='edit.php?id=$data->id'>Edit</td>
     <td><a class='btn btn-danger' href='list.php?delete=$data->nim
'>Delete</a></td>
    </tr>";
    };
    ?>
   </table>
   <a href="index.php" class="btn btn-success">Tambah Mahasiswa Baru</a>
  </div>
 </body>
</html>
 
<?php
if(isset($_GET['delete'])){
$del = $Lib->deleteMhs($_GET['delete']);
if($del == "Success"){
          header('Location: List.php'); }
?>
    
 lalu kita coba buka, kolo saya menggunakan mozilla firefox ketikan 
 http://localhost/pdo_oop
jika berhasil maka akan tampil seerti gambar berikut.
 

  source Code yang ke 3 kita buat code untuk mnampilkan data dari my sql, saya buat dengan nama "list.php" berikut source kodenya.

 <!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>List Mahasiswa</title>
  <!-- Latest compiled and minified CSS -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/
bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-
BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin=
"anonymous">
  <!-- Latest compiled and minified JavaScript -->
  <script src="https://maxcdn.bootstrapcdn.com
/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-
Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin=
"anonymous"></script>
 </head>

 <body>
  <div class="container">
   <h2>Daftar Nama Mahasiswa</h2>
   <table class="table">
    <tr>
     <td>NIM</td>
     <td>Nama</td>
     <td>Jenis Kelamin</td>
     <td>Alamat</td>
     <td>Edit</td>
     <td>Delete</td>
    </tr>
    <?php
    require("library.php");
    $Lib = new Library();
    $show = $Lib->showmahasiswa();
    while($data = $show->fetch(PDO::FETCH_OBJ)){
    echo "
    <tr>
     <td>$data->nim</td>
     <td>$data->nama</td>
     <td>$data->jenis_kelamin</td>
     <td>$data->alamat</td>
     <td><a class='btn btn-info' href='edit.php?id=$data->id'>Edit</td>
     <td><a class='btn btn-danger' href='list.php?delete=$data->nim
'>Delete</a></td>
    </tr>";
    };
    ?>
   </table>
   <a href="index.php" class="btn btn-success">Tambah Mahasiswa Baru</a>
  </div>
 </body>
</html>
 
<?php
if(isset($_GET['delete'])){
$del = $Lib->deleteMhs($_GET['delete']);
 
}
?> 
jika kita panggil maka akan tampil sbb
 
 Source Code yang ke 4, inilah source code yang terahir, yaitu untuk mengedit
 isi dari my sql
yang saya beri nama "edit.php" berikut source codenya.
 
<?php
require('library.php');
 
if(isset($_GET['id'])){
$Lib = new Library();
$id = $Lib->editMhs($_GET['id']);
$edit = $id->fetch(PDO::FETCH_OBJ);
echo '
 <!DOCTYPE html>
 <html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Edit Data Mahasiswa</title>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7
/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmU
cww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
  <!-- Latest compiled and minified JavaScript -->
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.
min.js" 
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" 
crossorigin="anonymous"></script>
 </head>
 <body>
  <div class="container">
   <h2>Ubah Data Mahasiswa</h2>
   <form action="edit.php" method="POST" class="form-group row">
    NIM : <input type="text" name="nim" value="'.$edit->nim.'" required class=
"form-control"><br>
    Nama : <input type="text" name="nama" value="'.$edit->nama.'" required 
class="form-control"><br>
    Tempat Lahir : <input type="text" name="tempat_lahir" value="'.
$edit->tempat_lahir.'" required class="form-control"><br/>
    Tanggal Lahir : <input type="text" name="tanggal_lahir" value="'.
$edit->tanggal_lahir.'" required class="form-control"><br/>
    Jenis Kelamin : <input type="text" name="jenis_kelamin" value="'.
$edit->jenis_kelamin.'" required class="form-control"><br/>
    Agama : <input type="text" name="agama" value="'.$edit->agama.'
" required class="form-control"><br/>
    No. Telepon : <input type="text" name="no_telepon" value="'.
$edit->no_telepon.'" required class="form-control"><br/>
    Alamat : <textarea name="alamat" class="form-control">'.$edit->alamat.
'</textarea><br/>
    <input type="submit" name="updateMhs" value="Update" class="btn btn-info">
    <input type="reset" value="Batal" class="btn btn-warning">
   </form>
  </div>
 </body>
 </html>
 ';
}
 
 if(isset($_POST['updateMhs'])){
  $nim = $_POST['nim'];
  $nama = $_POST['nama'];
  $tempat_lahir=$_POST['tempat_lahir'];
  $tanggal_lahir=$_POST['tanggal_lahir'];
  $jenis_kelamin=$_POST['jenis_kelamin'];
  $agama=$_POST['agama'];
  $alamat=$_POST['alamat'];
  $no_telepon=$_POST['no_telepon'];

  $Lib = new Library();
  $upd = $Lib->updateMhs($nim, $nama, $tempat_lahir, $tanggal_lahir, 
$jenis_kelamin, $agama, $alamat, $no_telepon);
  if($upd == "Success"){
   header('Location: List.php');
  }
 }
?>
 
 
 
beginilah tutorial yang saya dalam pembahasan kali ini 
Semoga bermanfaat ya.... :D 

 
Share:

0 komentar:

Posting Komentar

Histats

Diberdayakan oleh Blogger.

Sponsor