PHP Ajax Chaining Datatable Server Side Processing

PHP Ajax Chaining Datatable server side Processing

Lanjut dari tulisan pertama mengenai PHP Datatable Server Side Processing Script. Kali ini akan membahas cara menambahkan filter pada grid table yang kita punya.

Chaining kalau diartikan secara sederhana adalah pengambilan data berurutan dari umum ke spesifik.

Misal kita punya table data dengan kasus kemarin yakni menampilkan data provinsi kabupaten dan kecamatan. Nah Bagaimana caranya kita bisa mengirim filter misalnya tampilkan data hanya dari provinsi jawabarat saja, kemudian lebih spesifik dari kabupaten bandung saja.

Demo | Download File

Gambarnya seperti ini

PHP Chaining Datatable Server Side

PHP Chaining Datatable Server Side

Kali ini kita akan menggunakan tambahan satu jquery library yakni jquery chosen. Library ini digunakan untuk merubah element select menjadi searchable alias kita bisa melakukan pencarian data dari element select tersebut.

Untuk library DTable.php, saya melakukan perubahan yakni menambahkan prepared statement untuk request post. Kalau sebelumnya hanya request search data saja yang di filter ke prepared statement. Sekarang request lain bisa dibuat prepared statement supaya resiko akan sql injection bisa dihindari. jadi pastikan temen – temen melakukan cara seperti yang saya contohkan.

Untuk memudahkan dalam update code, sebaiknya temen – temen clone saja library ini dari github saya, jadi ketika ada update tinggal lakukan pull code https://github.com/wildantea/php-pdo-datatable-server-side-class

Langsung saja kita mulai :

Library tambahan yang dibutuhkan

Jquery Library Chosen

Struktur file 

kita akan membuat file baru yakni, chain.php data_chain.php, data_kabupaten.php dan data_kecamatan.php

new_struct

chain.php

file chain .php adalah file utama untuk grid data, Saya sudah commenting codenya jadi bisa dengan mudah diikuti. Intinya yang membedakan dari tulisan sebelumnya untuk file utama ini adalah; file chain.php ini secara umum berisi action jquery untuk mengambil data filter provinsi, kabupaten dan kecamatan kemudian ketika tombol submit filter di klik, destroy atau hancurkan datatable dengan perintah destroy, lalu data provinsi, kabupaten, dan kecamatan akan dikirim dengan ajax post ke file data_chain.php .

data_chain.php

File ini untuk menghandle request ajax dari file chain.php. Terlihat di code ada logic untuk menangkap request post yang dikirim yang akan dijadikan condition untuk query.

data_kabupaten.php

Ketika provinsi di pilih maka request akan dikirim ke file data_kabupaten.php. Jadi file ini digunakan untuk meng-handle request ajax menampilkan data kabupaten yang dikirim dari file chain.php. di file chain.php data kabupaten ini akan di masukan ke id #kabupaten.

data_kecamatan.php

Sama halnya dengan file kabupaten, file ini untuk handle request ketika ada kabupaten yang dipilih di file chain.php

Sekian untuk Tutorialnya, untuk lebih jelasnya silakan lihat demonya atau download code untuk mencobanya.

Demo | Download File

17 Comments

  1. maaf gan mau nanya kalau misal membuat filtering tetapi data yang akan di filter itu berada di tabel yang sama penerapannya seperti apa yaa gan, mohon bantuannya gan..

    Reply
  2. maaf gan mau nanya kalo filtering yang dilakukan berada pada data tabel yang sama seperti apa yaa gan, saya masih kebingungan dengan itu, bisa bantuk tidak gan buat tutorialnya gan..
    cara kerjanya persis yang di tutorial agan ini namun kasus saya data berada di tabel yang sama dan saya ingin filter jadi 3 opsi gan contohnya (tanggal, nama, keperluan)

    Reply
  3. bagaimana jika ingin initialize terus filter data? sebagai contoh sewaktu initialize, saya hanya bisa mahu data “aceh”. dan bila menggunakan search bar, apabila sy keypress huruf “a” data semua selain aceh pun ikut keluar sekali.
    terima kasih kamu banyak membantu,

    Reply

Leave a Reply to wildan Cancel reply