Tutorial Membuat CRUD Dengan PHP MySQL

Pada tutorial ini kita akan membuat CRUD sederhana dengan menggunakan PHP dan MySQL. Pengaplikasiannya pun menggunakan sistem OOP ( Object Oriented Programming ) atau yang dalam bahasa Indonesianya disebut juga PBO (Pemrograman Berbasis Objek).

Tidak hanya CRUD saja, kita juga akan membuat fitur paginasi dan juga pencariannya. Selain itu koneksi yang akan kita gunakan adalah koneksi PDO ( PHP Data Objects ).

Baiklah kita mulai, di bawah ini adalah list yang akan kita pelajari :

  1. Membuat Database dan Table
  2. Struktur File dan Folder
  3. Koneksi ke database
  4. Menampilkan Data (Read)
  5. Menambah Data (Create)
  6. Merubah Data (Update)
  7. Menghapus Data (Delete)
  8. Mencari Data (Searching)
  9. Mendesain Halaman Website

Membuat Database dan Table

Pertama – tama kita buat database nya lebih dulu, nama database ini adalah crud. Silahkan ketikan source sql berikut untuk membuat databasenya.

Lalu kita gunakan database tersebut. Bila anda menggunakan cmd silahkan ketikan query :

Namun jika anda menggunakan phpmyadmin, anda bisa langsung klik pada nama database nya pada menu phpmyadmin. Lalu selanjutnya silahkan jalankan query berikut untuk membuat tablenya :

Dan terakhir mari kita masukan beberapa data sekaligus, cekidot cukup di copy – paste saja ke phpmyadmin agan2, tapi kalau mau diketik pakai cmd ya monggo :

Jika anda masih bingung pada code :

Perlu anda tau kalau code tersebut adalah code JSON yang telah di encode. Data tersebut sebenarnya adalah array, namun karena kita tidak dapat menyimpan format data array ke dalam database, jadi data tersebut harus di encode lebih dulu ke dalam format JSON. Nah nantinya ketika akan di tampilkan ke halaman website, maka data ini harus kita decode lagi ke dalam bentuk array.

Struktur File dan Folder

Silahkan buat folder bernama crud serta buat file – file PHP dan CSS sebagaimana gambar berikut :

tutorial membuat crud dengan php dan mysql

  1. File php akan kita gunakan sebagai halaman untuk memasukan data baru ke dalam database.
  2. File php akan kita gunakan sebagai halaman untuk merubah data.
  3. File php akan kita gunakan sebagai controllernya yang akan berisi fungsi – fungsi siap pakai.
  4. File php akan kita gunakan untuk melihat kondisi nilai dari URL parameter GET.
  5. Jadi jika nilai dari parameter GET adalah kosong / null, maka sistem akan menampilkan file show.php.
  6. Namun jika nilai parameter GET adalah create, maka sistem akan menampilkan file create.php.
  7. Kemudian jika nilai parameter GET adalah edit, maka sistem akan menampilkan file edit.php.
  8. Dan terakhir jika nilai parameter GET adalah delete, maka sistem akan menjalankan fungsi delete.
  9. File php akan kita gunakan sebagai halaman yang akan menampilkan data yang sedang di cari.
  10. File php akan kita gunakan untuk menampilkan datanya.
  11. File css adalah file yang akan kita gunakan untuk mengatur desainnya se – sederhana mungkin. Dan jika anda menginginkan desain yang bagus terkait user interface aplikasi CRUD ini, anda bisa menggunakan Bootstrap.

Jika kalian sudah membuat folder dan file di atas, silahkan lanjut ke bab koneksi ke database.

Koneksi ke database

Silahkan buka file functions.php dan ketikan code di bawah ini :

Penjelasan code di atas :

  1. Pertama – tama kita membuat class bernama Karyawan. Class ini merupakan blueprint yang nantinya akan kita inisialisasikan ke dalam bentuk objek.
  2. Lalu di dalam class ini kita deklarasikan beberapa property – property yang kita butuhkan seperti :

    $host adalah nama host – nya, $user adalah nama username host tersebut dan $pass adalah kata sandi untuk mengakses host localhost. Sesuaikan username dan password tersebut dengan host kalian, karena bisa jadi berbeda dengan punya saya. Selanjutnya $dbname adalah nama databasenya dan terakhir $pages adalah variabel yang nantinya akan kita gunakan sebagai pagination.
  3. Lalu selanjutnya kita memiliki 8 buah fungsi, diantaranya :

    Fungsi show() untuk menampilkan seluruh data karyawan.
  4. Fungsi select()

    Untuk menampilkan data karyawan dalam jumlah tertentu, yang kemudian hasilnya nanti akan dipecah menjadi beberapa halaman.

    Menandakan setiap halaman menampilkan 5 karyawan, jika memang total karyawan hanya 5, maka halaman yang ada hanya lah 1.

    Script :

    Kita gunakan untuk mengambil nilai parameter $_GET[‘halaman’] :

    parameter get pada php

    Dan mengkonversikannya menjadi tipe data integer bila ada nilainya kemudian menyimpannya ke dalam variabel $page, bila tidak ada maka nilai variabel $page adalah 1.

    Selanjutnya adalah membuat variabel $start yang memiliki kondisi :

    Apabila $page memiliki nilai lebih dari 1 maka $page di kali $halaman, kemudian baru dikurangi $halaman, dna jika nilai $page tidak lebih dari 1, maka nilai $start adalah 0.

    Terakhir, barulah menjalankan query berikut :

    untuk mendapatkan datanya.

  5. Fungsi pagination(),kita gunakan untuk membuat paginasinya :

  6. Fungsi create(), kita gunakan sebagai fungsi yang akan memproses data untuk dimasukan ke dalam database.

    Dimana kita mendapatkan datanya dari parameter $nama, $gaji sampai $pesan. Kemudian dimasukan ke dalam database dengan di cocokan datanya melalui fungsi bindParam(). Lalu di eksekusi dengan fungsi execute(), dan terakhir kembali ke halaman index.

  7. Fungsi edit(), kita gunakan sebagai fungsi untuk memilih data karyawan tertentu, yakni berdasarkan id – nya.

    Parameter FETCH_OBJ dalam PDO digunakan untuk menampilkan data dalam bentuk objek, dan bukan array. Karena data yang ditampilkan hanyalah data tunggal / 1 baris, maka kita cukup menggunakan bentuk objek. Sedangkan bila data yang harus kita tampilkan jumlahnya puluhan/ratusan, maka data tersebut harus dalam bentuk array, dan cara menampilkannya pun menggunakan konsep perulangan.

    Sedangkan pada data objek, kita dapat menampilkannya dengan cara

    $nama_variabel->nama_field.

    contoh : $data->nama / $data->gaji.

  8. Fungsi update() akan kita gunakan untuk memproses perubahan data karyawan.

    Dalam fungsi update() terdapat beberapa parameter yang di ambil seperti $id, $nama sampai $pesan. Nilai parameter ini diambil dari kondisi $_POST[‘update’] atau bisa dikatakan ketika $_POST bernilai update. Disana ada proses penyimpanan data ke dalam variabel $id, $nama sampai dengan $pesan, lalu dibawahnya dipanggilah fungsi update $Karyawan->update().

  9. Fungsi delete(), fungsi ini kita gunakan untuk menghapus data karyawan.

  10. Fungsi search(), sedangkan fungsi search kita gunakan untuk menampilkan data karyawan yang sedang dicari berdasarkan keyword nama karyawan yang dimasukan.

  11. Fungsi gaji(), dan terakhir adalah fungsi gaji() yang kita gunakan untuk menampilkan mata uang berformat Rupiah (contoh : Rp 2.000.000,00).

  12. Lalu kita menginisilisasikan class Karyawan tadi ke dalam bentuk objek bernama $Karyawan, dan untuk menginisialisasikannya haruslah menggunakan keyword new.

  13. Di bawahnya terdapat script :

    Yang kita gunakan untuk menyimpan data dan menjalankan fungsi – fungsi tertentu sesuai dengan kondisi nilai $_POST saat itu. Misal, jika $_POST adalah create,

    maka proses penyimpanan nilai ke dalam variabel dan fungsi

    akan dijalankan. Sedangkan bila nilai $_POST saat itu adalah update atau

    maka proses penyimpanan nilai – nilai yang saat itu sedang di rubah dan fungsi

    akan dijalankan.

Menampilkan Data (Read)

Buka file index.php dan ketikan code di bawah ini :

Pada code di atas, pertama – tama yang saya lakukan adalah memasukan file functions.php melalui script

kemudian membuat variabel $get yang isinya adalah : jika ada sebuah url bernama

maka nilai $get adalah

juga, namun bila ternyata tidak ada, maka nilainya adalah null / ”.

Contoh :

membuat crud dengan php

Kemudian kita loncat ke bagian php – nya, yakni source code :

Yang berarti jika nilai $get adalah ” / null, maka file yang ditampilkan adalah show.php, contohnya seperti gambar di atas.

Pada file show.php silahkan ketikan source code di bawah ini :

Pada file show.php kita tampilkan datanya dalam bentuk table dan menggunakan konsep perulangan untuk menampilkannya per baris.

Lalu kita kembali lagi ke $get, yakni jika nilai $get adalah create.

Maka file yang ditampilkan adalah file create.php, contoh :

crud sederhana dengan php

Lalu jika nilai $get adalah edit,

Maka file yang ditampilkan adalah file edit.php

tutorial membuat crud

Dan terakhir, bila nilai $get adalah delete, maka yang akan dijalankan adalah fungsi delete.

Menambah Data (Create)

Buka file create.php dan ketikan code di bawah ini :

Pada file create.php kita hanya menampilkan form input data saja, adapun code php yang ditampilkan pada file ini hanyalah untuk menampilkan data array hobi

Yang sudah dirangkum pada file functions.php $this->data_hobies pada function __construct. Lalu kenapa file create.php ini dapat berhubungan pada file functions.php ??.

Hal ini karena file create.php akan dimasukan ke dalam file index.php jika nilai url $_POST adalah create. Dan pada file index.php sendiri pun juga dimasukan file functions.php pada baris :

Merubah Data (Update)

Buka file edit.php dan ketikan code di bawah ini :

Penjelasan code di atas :

  1. Baris $id = $_GET[‘id’]; kita gunakan untuk mendapatkan nilai id pada variabel $_GET[‘id’]. Contoh :crud sederhana dengan php
  2. Baris $data = $Karyawan->edit($id); adalah fungsi yang kita gunakan untuk mengambil data karyawan tertentu sesuai dengan id nya.
  3. Baris $hobies = json_decode($data->hobi); kita gunakan untuk melakukan encode pada file json hobi yang tersimpan data variabel $data.
  4. Selanjutnya kita tampilkan data – data tersebut melaui script :

    dan semacamnya, serta :

    yang berarti jika nilai data gender adalah pria, maka akan dicetak nilai atribut checked pada input type radio, hal ini juga berlaku bagi input type radio yang value – nya adalah wanita.

    Dalam perulangan di atas, juga ditampilkan code :

    Yang berarti bila ada beberapa / semua hobi yang dipilih oleh karyawan, maka hobi tersebut akan di centang. Melalui code :

    lah kita memastikan apakah nilai – nilai yang tersimpan di dalam variabel $value juga terdapat pada nilai – nilai dalam variabel $hobies. Contoh, misalnya dalam variabel $hobies tesimpan nilai (bola, basket, catur, dan renang), sedangkan dalam variabel $value tersimpan nilai (bola, dan basket) saja. Maka fungsi in_array() akan mencocokan nilai kedua variabel tersebut dan checkbox yang akan tercentang hanyalah checkbox bola dan basket saja.

Menghapus Data (Delete)

Penghapusan sudah ada pada fungsi :

Jadi anda tidak perlu membuat apa – apa lagi disini.

Mencari Data (Searching)

Buka file search.php dan ketikan code di bawah ini :

Code dalam file search.php hampir sama dengan file show.php, bedanya dalam file search.php kita mengambil nilai dari variabel :

dan menyimpannya ke dalam variabel $search. Yakni pada sintaks :

Contohnya seperti gambar di bawah ini, dimana keyword yang saya masukan adalah ‘raf’ :

membuat fitur pencarian pada php dan mysql

Kemudian nilai variabel $search ini dimasukan ke dalam parameter fungsi search() yang ada pada class Karyawan :

Mendesain Halaman Website

Agar terlihat sedikit rapi, mari kita tambahkan kode css.

 


Demikian Tutorial Membuat CRUD Dengan PHP MySQL kali ini. Jika anda menemukan error pada kodingan di atas, silahkan tulis di kolom komentar.

Leave a comment

Your email address will not be published. Required fields are marked *

WhatsApp chat