membuat fitur update di crud

Selamat datang di warung belajar, melanjutkan pembahasan dari seri tutorial PHP, sampai di part 43 kita melanjutkan pembahasan mengenai pembuatan fitur CRUD (Create, Read, Update, Delete) di PHP dan MySQLi menggunakan OOP, untuk membuat fitur update data.

Pembahasan fitur update data ini, adalah pembahasan yang paling panjang, karena pada saat mengupdate data, kita perlu menampilkan form edit, serta memproses datanya untuk diupdate di database, baik langsung saja kita mulai.

 

Membuat Tombol edit pada list data

Jadi materi ini adalah kelanjutan dari tutorial kita sebelumnya :

Membuat Crud Php MySQLi – Menampilkan data

Membuat Crud Php MySQLi – Menambah data

sebelum kita membuat form untuk edit data, langkah awal kita perlu membuat tombol untuk menampilkan form edit data, silahkan buka file tampil_data.php yang sebelumnya telah kita buat.

Keterangan :

Perhatikan pada line 33 kita telah membuat tombol edit data, dimana ketika tombol tersebut di klik akan melakukan :

  • Memanggil file dengan nama edit.php
  • Mengirimkan parameter id yang bernilai data pada kolom id_barang, paremeter ini dikirim menggunakan method get.

Baik pembuatan tombol sudah selesai, berikutnya kita buat file yang berisi form untuk edit data.

 

Membuat Form Edit

Langkah berikutnya silahkan buat file dengan nama edit.php, dan isi codenya adalah sebagai berikut :

Penjelasan :

Pada Line 2 kita include file koneksi.php yang berisi class database, dan kita buat object $db dengan menggunakan class database.

Pada Line 4 kita tangkap variabel $id dengan method get, hasil kiriman saat tombol edit di file tampil_data.php di klik, variabel $id ini akan berisi nilai dari kolom id_barang di table tb_barang, yang merupakan primary key dari tabel tb_barang

Pada Line 5 kita melakukan pengecekan atas variabel $id_barang.

Apakah nilainya tidak kosong menggunakan perintah if(! is_null($id_barang)) tanda ! disini berarti tidak, dan is_null digunakan untuk melakukan pengecekan apakah nilai dari $id_barang kosong, jadi kalau perintah if(! is_null($id_barang)) memerintahkan untuk melakukan pengecekan jika variabel $id_barang tidak kosong, maka akan menjalankan perintah pada baris 7, dan jika nilai pada $id_barang kosong maka akan menjalankan perintah pada baris 11 yang otomatis redirect ke file tampil_data.php

Pada Line 7 kita membuat variabel dengan nama $data_barang, variabel ini akan digunakan untuk menyimpan hasil pengembalian nilai dari function get_by_id pada class database, di line 7 kita menulisnya dengan perintah $db->get_by_id($id).

kita mengirimkan 1 parameter yaitu variabel $id, yang berisi nilai dari kolom id_barang dari barang yang akan diedit.

 

 

Membuat Function get_by_id di file koneksi.php

kita beralih ke file koneksi.php, kita buat function dengan nama get_by_id dengan parameternya adalah $id, perhatikan skrip dibawah ini :

Keterangan :

Perhatikan pada line 30 kita membuat function get_by_id($id_barang), function inilah yang diakses oleh file edit.php di line 7, difunction ini kita menuliskan query untuk menampilkan data pada tabel tb_barang  yang id_barangnya adalah sesuai dengan id_barang yang akan diedit, dalam hal ini kita gunakan variabel $id_barang di parameter pada function get_by_id

Lalu hasil pengembalian nilainya kita gunakan perintah return $query->fetch_array(); perintah ini nantinya digunakan untuk mengkonversi hasil query menjadi bentuk array.

 

Kembali ke file edit.php

Setelah kita membahas function get_by_id di file koneksi.php yang digunakan untuk menampilkan data di tabel tb_barang sesuai id_barangnya, berikutnya kita kembali ke file edit.php

Pada Line 22 kita menset action=”proses_barang.php?action=update” yang artinya jika tombol submit update diklik maka akan mengakses file dengan nama proses_barang.php dan mengirimkan variabel action dengan nilai update, dimana variabel action ini menggunakan method get

 

Pada Line 23 kita membuat inputan form dengan type hidden, dengan nama id_barang dimana dibagian valuenya adalah nilai dari kolom id_barang dari tabel tb_barang, cara memanggil nilainya adalah $data_barang[‘id_barang’]

$data_barang adalah variabel yang sebelumnya telah kita set untuk menyimpan hasil query menampilkan barang sesuai kolom id_barang, karena pada function get_by_id di class database kita menggunakan return $query->fetch_array() sehingga cara untuk memanggil data perkolomnya menggunakan array, dimana nama kolom akan digunakan sebagai nama element array, sehingga memanggilnya $data_barang[‘id_barang’] dimana id_barang adalah nama kolomnya

begitu juga untuk menampilkan nama_barang kita menuliskan $data_barang[‘nama_barang’] Line 28, $data_barang[‘stok’] Line 33, $data_barang[‘harga_beli’] Line 38, $data_barang[‘harga_jual’] Line 43

baik dibagian form edit sudah kita bahas, berikutnya kita bahas file proses_barang.php untuk memproses edit data barang ketika tombol update di klik

 

Update file proses_barang.php

Silahkan buka lagi file proses_barang.php, lalu rubah skripnya menjadi seperti berikut ini :

Keterangan :

Perhatikan pada line 11 kita menuliskan perintah :

perintah itu digunakan untuk melakukan pengecekan nilai variabel $action, jika nilai variabel $action adalah update, maka akan menjalankan baris 13 – 14.

Coba perhatikan pada form edit di file edit.php pada bagian attribute action kita menuliskan proses_barang.php?action=update, nah perintah inilah yang membuat ketika tombol update di klik, akan menjalankan baris 13 – 14 di file proses_barang.php

Pada baris 13 kita mengakses function update_data di class database dengan menggunakan object $koneksi, dimana kita juga menyertakan 5 parameter yaitu :

  • $_POST[‘nama_barang’] = untuk nilai dari inputan form dengan nama ‘nama_barang’
  • $_POST[‘stok’] = untuk nilai dari inputan form dengan nama ‘stok’
  • $_POST[‘harga_beli’] = untuk nilai dari inputan form dengan nama ‘harga_beli’
  • $_POST[‘harga_jual’] = untuk nilai dari inputan form dengan nama ‘harga_jual’
  • $_POST[‘id_barang’] = untuk nilai dari inputan form dengan nama ‘id_barang’, inputan ini yang bertipekan hidden yang berisi id_barang yang diedit

Lalu perintah pada line 14 digunakan untuk redirect ke file tampil_data.php setelah baris 13 dijalankan.

 

Tambahkan Function update_data di class database

Berikutnya kita kembali ke file koneksi.php yang berisi class database, kita akan menambahkan function update_data, perhatikan skrip dibawah ini :

Keterangan :

Kita menambah function update_data di Line 36, dimana di function ini memiliki 5 parameter yaitu :

  • nama_barang
  • stok
  • harga_beli
  • harga_jual
  • id_barang

didalam function update_data ini kita menuliskan perintah query untuk melakukan perintah update, untuk perintah kita menggunakan perintah mysqli_query, perintah mysqli_query menggunakan 2 parameter :

  • koneksi database dengan menggunakan variabel $this->koneksi
  • perintah update data tb_barang di database

untuk perintah update data di database kita menggunakan perintah sql yaitu :

update tb_barang set nama_barang=’$nama_barang’,stok=’$stok’,harga_beli=’$harga_beli’,harga_jual=’$harga_jual’ where id_barang=’$id_barang’

dimana variabel $nama_barang, $stok, $harga_beli, $harga_jual, dan $id_barang merupakan parameter yang diterima oleh function update_data ( Line 36 ), parameter ini dikirim oleh file proses_barang.php di line 13.

jadi pada perintah ini akan melakukan update data ke database.

Untuk download source code, silahkan klik disini

Jadi kurang lebih seperti itu teman – teman pembahasan tutorial PHP kali ini, kita telah belajar mengenai bagaimana cara mengupdate data menggunakan PHP dan MySQLi dengan konsep OOP, jika ada yang ingin didiskusikan silahkan di kolom komentar.

Leave a Comment

Your email address will not be published.