membuat crud dengan OOP dan PDO MySQL di PHP

Selamat datang di warung belajar, dalam tutorial ini kita akan melanjutkan pembahasan mengenai seri tutorial php, pada part 58 kita akan belajar membuat CRUD dengan OOP dan PDO MySQL di PHP.

Melanjutkan pembahasan PDO di php, jika ditutorial sebelumnya kita telah belajar mengenal apa itu PDO, serta cara mengaktifkan PDO di PHP, kali ini kita akan mulai untuk belajar bagaimana cara membuat crud sederhana dengan menggunakan OOP dan PDO MySQL di PHP.

 

Membuat Database

Untuk tahap persiapan, kita akan membuat database terlebih dahulu, dalam contoh ini kita akan membuat database siswa, dimana didalamnya terdapat tabel tb_siswa.

Berikut ini perintah untuk database db_siswa, dan table tb_siswa.

Baik saya asumsikan teman – teman sudah membuat database dengan nama db_siswa, yang berisi tabel tb_siswa, dengan menggunakan perintah diatas.

 

Berikutnya anda dapat mengisikan beberapa data didalam tb_siswa dengan menggunakan perintah :

Sehingga teman – teman telah memiliki 2 record pada tabel tb_siswa, kurang lebih tampilannya seperti berikut ini :

 

Pembuatan Folder Project serta File PHP

Setelah anda membuat database, berikutnya kita akan membuat folder projectnya terlebih dahulu, karena dalam contoh ini kita menggunakan Xampp, maka folder project berada di direktori Xampp, dalam contoh ini C:/xampp/htdocs, foldernya adalah pdo_crud.

Berikutnya silahkan buat 4 file PHP, antara lain sebagai berikut :

  • index.php
  • library.php
  • form_add.php
  • form_edit.php

serta silahkan download file library bootstrap, dialamat : https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css

hasil download file dengan nama bootstrap.min.css letakkan di folder project anda.

sehingga tampilannya kurang lebih seperti berikut ini :

 

 

Membuat File Library

Karena kita akan membuat crud dengan konsep OOP, sehingga perintah yang digunakan untuk berkomunikasi dengan database akan kita letakkan disebuah class, dan akan kita bagi di masing – masing method, class tersebut akan kita buat didalam file library.php yang sebelumnya telah kita buat.

baik silahkan buka file library.php yang telah kita buat, lalu tuliskan code dibawah ini :

 

Keterangan :

Didalam class library terdapat beberapa method yang nanti kita akan bahas satu persatu untuk kebutuhan CRUD.

yang akan kita bahas disini adalah perintah yang digunakan untuk membuat koneksi di database.

perhatikan line 4 kita membuat function __construct karena kita membuat class, dalam function __construct ini kita buat perintah untuk terkoneksi dengan database.

Line 6 kita buat variabel dengan nama $host digunakan untuk menyimpan alamat server database, karena kita menggunakan database server, sehingga kita menggunakan alamat localhost

Line 7 kita buat variabel dengan nama $dbname digunakan untuk menyimpan nama database, dalam contoh ini adalah db_siswa

Line 8 kita buat variabel dengan nama $username digunakan untuk menyimpan user dari database, dalam hal ini adalah root

Line 9 kita buat variabel dengan nama $password digunakan untuk menyimpan password dari database, dalam hal ini kita buat kosong karena standart password database mysql untuk xampp adalah kosong

Pada Line 10 kita melakukan koneksi ke database dengan menggunakan function PDO, dengan menyertakan parameter yang sebelumnya nilainya kita buat dalam sebuah variabel, dan hasil koneksi kita simpan di variabel $db

 

 

Membuat File index.php untuk menampilkan data siswa

Berikutnya silahkan buka file index.php dan tuliskan code dibawah ini :

Untuk mengakses file tersebut, anda bisa mengakses alamat : localhost/pdo_crud

hasilnya adalah sebagai berikut :

Keterangan :

Line 2 kita include file library.php yang berisi class Library yang sebelumnya telah kita buat

Line 3 kita membuat object dengan nama $lib dengan menggunakan class Library

Line 4 kita buat variabel $data_siswa digunakan untuk menyimpan hasil pengembalian data saat kita mengakses method show() pada class Library

Perhatikan isi dari method show pada class Library (file library.php) line 23, kita menuliskan query pada line 25, dengan menggunakan $this->db->prepare itu merupakan fungsi PDO yang digunakan untuk menuliskan query SQL hasil query disimpan di variabel $query, kenapa kita menggunakan $this->db karena variabel ini yang menyimpan koneksi ke database.

Line 26 (library.php) kita menjalankan perintah query dengan menggunakan perintah $query->execute()

Line 27 (library.php) kita menuliskan perintah $query->fetchAll() untuk mendapatkan hasil query, dan menyimpannya kedalam variabel $data, berikutnya kita return variabel $data, untuk mengembalikan hasil query yang telah disimpan di variabel $data.

Line 4 (index.php) variabel $data_siswa sudah berisi data siswa hasil return dari method show pada class Library.

Line 40 (index.php) kita menggunakan perintah foreach untuk extract data yang ada di variabel $data_siswa, dan untuk menampilkan isi masing – masing kolom, kita harus menyebutkan nama kolom pada elemen array (Line 43 – 46 file index.php)

Line 47 (index.php) kita membuat tombol edit yang mengakses file form_edit.php dengan mengirimkan variabel kd_siswa dengan method get dengan nilai dari kolom kd_siswa

Line 48 (index.php) kita membuat tombol delete yang mengakses file ini sendiri  index.php dengan mengirimkan variabel hapus_siswa dengan method get dengan nilai dari kolom kd_siswa

Line 28 kita membuat tombol tambah, yang mengakses file form_add.php yang nantinya akan berisi form untuk menambahkan data.

 

 

Membuat form_add untuk form tambah data

Berikutnya kita akan membuat form untuk menambahkan data siswa, silahkan buka file form_add.php lalu tuliskan code dibawah ini :

Anda bisa mengakses di alamat : http://localhost/pdo_crud/form_add.php

Keterangan :

Line 27 (form_add.php) kita membuat tag form dengan attribute action=”” artinya form akan diproses di file yang sama, lalu menggunakan method post

pada form ini kita membuat beberapa inputan antara lain :

  • nama_siswa (Line 31)
  • kelas (Line 37)
  • alamat (Line 43)

Membuat tombol submit dengan name “tombol_tambah”

Line 2 (form_add.php) kita include file library.php yang berisi class Library yang sebelumnya telah kita buat

Line 3 (form_add.php) kita membuat object dengan nama $lib dengan menggunakan class Library

Line 4 (form_add.php) kita melakukan pengecekan apakah tombol tambah diklik dengan menggunakan perintah isset, jika tombol tambah diklik maka akan menjalankan code dibaris 5 – 7

Line 5 (form_add.php) kita menangkap isi dari inputan nama_siswa dari form

Line 6 (form_add.php) kita menangkap isi dari inputan kelas dari form

Line 7 (form_add.php) kita menangkap isi dari inputan alamat dari form

Line 9 (form_add.php) kita mengakses method add_data pada class Library, dengan mengirimkan beberapa parameter, antara lain : $nama_siswa, $kelas, dan $alamat.

Perhatikan pada line 12 (Library.php) kita membuat function add_data

Line 14 (Library.php) kita membuat query insert dengan menuliskannya pada bagian prepare statement, perhatikan kita membuat 3 tanda tanya, jumlah tanda tanya ini kita samakan dengan jumlah kolom yang akan kita beri isi.

Line 16,17,18 (Library.php) kita mengisikan nilai pada tanda tanya tersebut, dengan menggunakan perintah bindParam, tanda panah pertama dengan nilai variabel $nama_siswa, kedua dengan nilai $kelas, dan ketiga dengan nilai $alamat, dan kita jalankan query tersebut dengan perintah $data->execute (line 20), lalu kita return jumlah data yang berhasil ditambahkan dengan perintah return $data->rowCount();

Sehingga saat data berhasil diinsert maka akan redirect halaman ke index.php perintah ini diatur pada line 10 – 11 file form_add.php

 

 

Membuat Form Edit untuk mengedit data siswa

Berikutnya kita akan membuat file form_edit.php untuk form edit data siswa, silahkan buka file form_edit.php lalu tuliskan code dibawah ini :

Kurang lebih tampilannya adalah sebagai berikut :

Keterangan :

Line 2 (form_edit.php) kita include file library.php yang berisi class Library yang sebelumnya telah kita buat

Line 3 (form_edit.php) kita membuat object dengan nama $lib dengan menggunakan class Library

Line 4 (form_edit.php) kita melakukan pengecekan apakah saat file form_edit.php ini diakses, juga menyertakan variabel kd_siswa dengan method get, jika ya maka akan menjalankan kode 5 – 6, jika tidak maka akan redirect ke file index.php

Line 5 (form_edit.php) kita menangkap value dari variabel kd_siswa dengan method get, dan menyimpannya pada variabel $kd_siswa

Line 6 (form_edit.php) kita mengakses function get_by_id pada class Library dengan menyertakan variabel $kd_siswa yang berisi data nilai kd_siswa yang akan diedit.

Line 31 (library.php) kita telah membuat function get_by_id yang digunakan untuk menampilkan data siswa, sesuai kd_siswa yang dikirimkan, dengan menggunakan prepare statement, dan hasil nilainya akan di return pada file form_edit.php

Line 6 (form_edit.php) kita telah mendapatkan data siswa yang diinginkan dan disimpan pada variabel $data_siswa.

berikutnya kita tinggal memberikan value pada masing – masing bagian di form edit, antara lain :

  • Pada inputan hidden dengan nama kd_siswa (Line 38)
  • Pada inputan text denga nama nama_siswa (Line 42)
  • Pada inputan text dengan nama kelas (Line 48)
  • Pada inputan text dengan nama alamat (Line 54)

untuk memberikan nilainya kita menggunakan variabel $data_siswa lalu menyebutkan nama kolom pada elemen array.

 

 

Keterangan Proses Update

Ketika anda mengupdate data menggunakan form_edit.php, anda akan klik tombol update, dimana tombol update ini jika diklik akan mengakses form ini sendiri.

sehingga perhatikan pada line 13 (form_edit.php) kita melakukan pengecekan apakah tombol_update diklik, jika ya maka menjalankan perintah di line 14 – 22 (form_edit.php), pada line 14 – 17 (form_edit.php) kita menyimpan hasil nilai dari form edit, pada masing – masing variabel.

Line 18 (form_edit.php) kita mengakses function update dengan mengirimkan 4 parameter yaitu :

  • $kd_siswa
  • $nama_siswa
  • $kelas
  • $alamat

Line 38 (library.php) kita telah membuat function update, isi dari function ini adalah perintah query untuk update data menggunakan prepared statement, secara konsepnya sama dengan bagian function add_data, setelah data diupdate maka akan return jumlah data yang berhasil diupdate (line 47 library.php)

Line 19 (form_edit.php)akan memeriksa jika hasil pengembalian data dari function update adalah true, maka akan redirect ke file index.php

 

 

Membuat fitur delete

Berikutnya kita akan membahas fitur delete dalam CRUD ini, baik penjelasannya adalah sebagai berikut :

Line 48 (index.php) kita membuat tombol delete yang mengakses file index.php dengan mengirimkan variabel hapus_siswa yang berisi nilai dari kolom kd_siswa dengan method get

Sehingga saat tombol delete di klik maka akan mengakses file index.php ini sendiri, serta menyertakan variabel hapus_siswa dengan nilai kd_siswa dengan method get

karena itu pada line 6 (index.php) kita melakukan pengecekan apakah terdapat variabel $hapus_siswa dengan menggunakan method get, jika ada maka akan menjalankan Line 8 – 13 (index.php)

Line 8 (index.php) kita membuat variabel $kd_siswa untuk menyimpan kd_siswa dari variabel hapus_siswa dengan method get.

Line 9 (index.php) kita mengakses function delete dengan mengirimkan variabel $kd_siswa sebagai parameter.

Perhatikan Line 50 (Library.php) kita telah membuat function delete, dalam function ini kita menuliskan perintah query untuk menghapus data siswa berdasarkan kd_siswa yang akan dihapus, dan pada line 57 (Library.php) kita mengembalikan jumlah record yang dihapus

Line 9 (index.php) variabel $status_hapus digunakan untuk menyimpan hasil pemanggilan function delete diclass lib, jika nilai variabel $status_hapus adalah true maka dinyatakan berhasil hapus data, dan aplikasi akan redirect ke file index.php

 

 

Untuk  Source Code Hasil Belajar dapat anda download di link berikut ini :

Download Source Code

Jadi kurang lebih seperti itu teman – teman pembahasan tutorial kali ini, kita sudah belajar membuat Crud dengan OOP dan PDO MySQL di PHP, baik sekian dulu teman – teman pembahasan tutorial kali ini, jika ada yang ingin didiskusikan silahkan di kolom komentar, sekian dulu sampai jumpa di tutorial selanjutnya.

Leave a Comment

Your email address will not be published.