Menangani Jumlah Data yang Besar pada datatables

Seperti yang Onphpid tuliskan pada tutorial Datatables sebelum tentang bagaimana menggunakan datatables pada PHP, meski terlihat mudah ternyata ada sebuah permasalahan kecil yang cukup merepotkan yang akan kita hadapi…

mungkin masalah ini tidak akan terlihat dengan jelas ketika jumlah  daftar data yang kita load atau tampilkan hanya berjumlah berkisar antara puluhan atau ratusan data saja…

karena masalah ini akan sangat terasa ketika jumlah data yang kita tampilkan berjumlah ribuan bahkan puluhan ribu data.. Hal tersebut biasanya akan berujung pada berhentinya browser (hang) dan muncul kata “not responding” karena browser tidak mampu menampung besarnya data yang diload atau hanya sekedar loadingnya lama..

Nah pada tutorial datatables kali ini kita akan membahas bagaimana menangani banyak data pada datatables sehingga meskipun data yang kita load berjumlah ribuan,  browser maupun server  yang kita miliki tidak  lagi terbebani oleh jumlah data yang ribuan.

Cara menangani banyak data pada datatables kurang lebih hampir sama seperti tutorial Cara Menggunakan Datatables namun kita akan menambah beberapa library bawaan Datatables salah satunya adalah ssp.class.php , sebuah classis yang dibangun untuk menangkap dan memproses variable yang dikirim via AJAX. Secara teori meskipun jumlah data yang ada itu mencapai jutaan tapi yang kita panggil hanya sebagian atau perbagian, secara default data yang dipanggil sekitar 10 data setiap halamannya.

Lalu bagaimana caranya ? yuk langsung saja ikuti langkah-langkah berikut

Pertama : buatlah folder di htdocs dengan nama “datatables-server-side”, kemudian pada folder datatables-server-side buatlah folder dan file seperti berikut.

Kedua : buatlah sebuah database melalui localhost/phpmyadmin, beri nama database kita dengan “datatables“.

Ketiga : pastikan kalian sudah mendownload file datatables dari datatables.net. ekstrak lalu ambil isi dari folder “media” dan letakkan pada folder assets.

lalu cari lah folder “scripts” pada folder exemples/server_side/ lalu pindahkan ke folder “includes
ingat kalian harus meng-copy foldernya karena di folder scripts terdapat file-file yang saling berhubungan satu dengan yang lain.

Keempat : bukalah file index.php isikan kode berikut.

Pada langkah ini kita akan memulai melakukan instalasi atau memasang datatables.
sisipkan kode berikut tepat diatas tag </head>

kemudian tambahkan kode berikut diatas tag </body>

Kelima : bukalah file load-data.php lalu tambahkan kode berikut..

keterangan :

  • db adalah nama field/ nama kolom pada table karyawan
  • dt adalah nomor urut table pada browser, 0 paling kiri, 1 kolom kedua, 2 kolom ketiga dan seterusnya..
  • formater adalah key yang tugas untuk menhandle fungsi format seperti tanggal, uang, atau angka.
  • $sql_details adalah koneksi database.
  • $_GET pada kode dibawah adalah parameter yang  secara default dikirim oleh ajax..

script diatas (pada langkah kelima) adalah script yang akan bertugas menangani load data yang banyak dan untuk table database kalian bisa meng-import-nya atau menuliskannya pada SQL seperti tutorial Cara Menggunakan Datatables yang lalu.

SQL tabel karyawan

pada langkah Keenam : kita kembali ke index.php dan tambahkan script berikut untuk mengeksekusi datatables.. dan letakkan tepat diatas tag </body>

Demikian tutorial menangani banyak data pada datatables kalian bisa mendapatkan script datatables secara full disini

baca juga cara menggunakan query join pada datatables

Cara diatas mungkin akan terasa susah untuk diterapkan pada Codeigniter karena terdapat dua kali koneksi.. Pada tutorial Cara Menggunakan Datatables pada Codeigniter 3 onphpid mencoba membuat sebuah script sederhana sebagai pengganti ssp.class.php bawaan Datatables dengan harapan kalian dapat mengembangkannya lagi.. sekian dan selamat belajar..

Cara Menggunakan Datatables dengan PHP
Cara Mengunakan Datatables pada Codeigniter 3

  • Dammah SifLa

    Bagaimana jika kita menggunakan query??

    • Query seperti apa gan yang agan inginkan? Sebab dengan ssp.class.php sudah mewakili query untuk menampilakan isi dari sebuah table. Kita tinggal memasukan nama table pada variabel $table dan hasilpun keluar

    • Dammah SifLa

      Misal saya ingin menampilkan data pegawai dgn umur 60thn.
      Dalam table database saya hanya terdapat kolom tgl lahir.
      Terima kasih atas responnya gan . . .

    • Kalau seperti itu kondisininya berarti memang perlu penanganan khusus pada tingkat Query SQLnya.. dan mungkin akan lebih fleksibel ketika menggunakan datatables dengan query manual. Tapi maaf sebelumnya di situs onphpid.com belum ada artikel yang membahas itu kecuali dalam versi Codeigniter https://www.onphpid.com/cara-mengunakan-datatables-pada-codeigniter-3.html yang kebetulan menggunakan query manual.. mungkin lain kesempatan onphpid akan membahas query manual ini.

      terima kasih

  • Yasier Giparna Pmg

    kalau mau tambah column untuk button action gimana ya?

  • Fahmi

    saya punya record di database sekitar 100rb data, pas tampil data lancar-lancar saja. tapi jika saya pindah halaman itu loading nya semakin lama, dan jika pindah ke halaman terakhir itu loading sangat lama dan muncul error. bagaimana solusinya?

    • agan bisa SS error yang muncul agar bisa ditindak lanjuti 😀

  • Novry Gates

    ko script yang di download itu g bisa ya ??
    😀