Menampilkan Hasil Query dinamis MySQL ke Table dengan PHP


Pendahuluan

Di kantor saya ditugaskan membuat semacam custom report dari Magento, yang mana report tersebut diambil langsung dari database dengan menggunakan query dari MySQL. Dalam pengerjaan tersebut, saya membuat semacam table generator yang bersumber dari hasil query. Kemudian disajikan dalam bentuk berkas .csv yang nantinya dapat diolah dengan MS Excel atau sejenisnya.

Dari hasil kerjaan tersebut, saya mencoba menuangkannya dalam bentuk artikel. Akan tetapi, tidak 100% sesuai dengan kode sumber yang saya buat di kantor. Hanya dasarnya saja yang saya bagikan di sini, selebihnya nanti kalian bisa kembangkan sendiri.

Identifikasi Masalah

Sebagai PHP developer kalian pasti pernah menggunakan phpMyAdmin atau Adminer atau sejenis aplikasi pengelola database MySQL. Ketika kalian menuliskan query, secara otomatis aplikasi tersebut menampilkan dalam bentuk table. Table header mengambil hasil dari field sedangkan datanya diambil dari value.

Kira-kira gambarannya seperti berikut:

Gambar diambil dari: https://www.hostinger.es/tutoriales/wp-content/uploads/sites/7/2018/05/hositnger-phpmyadmin-php-insertar-en-mysql-final.png

Secara umum kode php procedural untuk menampilkan hasil query dalam bentuk table adalah sebagai berikut:

Seperti yang terlihat dari kode di atas. Ketika memanggil value-nya kita menuliskan manual table header <th> dan untuk mendapatkan hasil value-nya dengan mengambil array sesuai nama dari field yang ditulis secara manual.

Lalu bagiamana jika kita tidak tahu berapa banyak field dari hasil query kita yang dinamis? Oleh karena itu, kode di atas tidak dapat diimplementasikan untuk kebutuhan query yang digunakan secara dinamis.

Penyelesaian

Saya mencoba membuat kode sederhana untuk mendapatkan hasil query dinamis dari database. Berikut ini kodenya:

Kode simpel di atas dapat kalian pakai untuk kebutuhan pembuatan table sederhana dengan query apapun, asalkan valid. Nah kode di atas juga saya sisipkan microtime dengan format jam (00:00:00) guna mengetahui berapa waktu yang dihabiskan server menarik data dari hasil query. Saya sisipkan pula metode export data to cvs dengan demikian hasilnya bisa kita olah diaplikasi seperti MS Excel atau sejenisnya.

Akhir kata, semoga bermanfaat. 😁

Ayo Berlangganan!

Dapatkan pemberitahuan artikel-artikel terbaru super cepat, langsung dari surel Anda.
Lebih dari 320 telah berlangganan situsali.com, ayo segera daftarkan surel Anda sekarang juga!



Perhatian!

Demi kenyamanan bersama, sebelum berkomentar, harap gunakan bahasa yang baik dan benar. Juga baca aturan dalam berkomentar. Dilarang berkomentar yang dapat memicu pertengkaran dan menyinggung unsur SARA (Suku, Agama, Ras, dan Antar Golongan).

Leave a Reply