Sering kali Web Developer harus mengambil sekumpulan Record dari Database lalu menampilkannya di sebuah halaman pada Aplikasi Web yang dibangunnya. Untuk itu dibutuhkan suatu mekanisme pembacaan dan penelusuran satu per satu Record dari sekumpulan Record tadi.
PHPMaker sudah mengantisipasi hal ini dengan menyediakan sebuah global function yang bernama ew_Execute untuk mengeksekusi SQL SELECT statement. Hasil dari eksekusi ini bisa ditampung ke dalam sebuah variabel, dan selanjutnya Web Developer dapat membaca satu per satu Record dari variabel tadi.
Sekedar informasi, PHPMaker menggunakan ADODB, sebuah pustaka abstraksi Database untuk PHP, yang dapat menstandarkan metode untuk pengambilan dan pemanipulasian data pada Database. ADODB sudah mendukung hampir sebagian besar Database yang paling sering digunakan, seperti MySQL, Microsoft SQL Server, Oracle, PostgreSQL, dan Microsoft Access.
Jika Anda dulu pernah bermain-main dengan pemrograman Desktop menggunakan Visual Basic 6 (VB Classic), maka Anda pasti sudah tidak asing lagi dengan ADO atau ADODB. Di sana dikenal dengan ADODC (ADO Data Control) atau ADO Code. Cara membaca dan menelusuri Record dari sebuah Recordset di sana itu pun sama persis dengan cara ADODB yang digunakan untuk PHP.
Katakanlah kita akan membaca data dari tabel themes yang memiliki field Theme_ID dan Theme_Name melalui fitur Custom Files yang terdapat mulai PHPMaker versi 11, maka Anda cukup menggunakan kode PHP berikut ini:
<?php $rs = ew_Execute("SELECT Theme_ID, Theme_Name FROM themes"); // baca data dari tabel if ($rs->RecordCount() >0) { // periksa dan pastikan jumlah record lebih besar dari nol $rs->MoveFirst(); // mulai dari record pertama while (!$rs->EOF) { // loop selama belum mencapai akhir file atau akhir recordset echo $rs->fields("Theme_ID")." - " .$rs->fields("Theme_Name"). "<br>"; // tampilkan hasilnya $rs->MoveNext(); // jangan lupa untuk menggerakkan ke record berikutnya } // akhir loop $rs->Close(); // tutup recordset jika sudah selesai } else { // jika jumlah record tidak lebih besar dari nol echo "Tidak ada record ditemukan."; // tampilkan pesan tidak ada record } // akhir pemeriksaan record ?>
Perhatikanlah kode tersebut. Sangat sederhana, bukan? Polanya persis sama dengan yang digunakan saat Anda menggunakan ADO Code atau ADODB di Visual Basic 6. Mudah dipahami.
Hasil eksekusi SQL SELECT menggunakan fungsi global ew_Execute() selanjutnya ditampung ke dalam sebuah variabel $rs yang dalam hal ini akan mengembalikan sebuah object berupa array Recordset. Sebelum membaca setiap Record, kita melakukan pemeriksaan kondisi apakah jumlah Record di variabel $rs lebih besar dari nol dengan menggunakan method RecordCount().
Jika memenuhi kondisi, maka pastikan kita memproses mulai dari Record pertama dengan menggunakan method MoveFirst(). Lakukan perulangan (loop) dengan memeriksa selama status Recordset belum mencapai EOF (End OF File), maka tampilkan nilai dari field Theme_ID dan Theme_Name. Di dalam blok loop tadi, pastikan kita memanggil method MoveNext().
Setelah proses perulangan (loop) selesai, jangan lupa untuk menutup object Recordset tadi menggunakan method Close().
Jika tidak jumlah Record dalam variabel $rs tadi tidak lebih besar dari nol, maka itu artinya tidak ada Record yang ditemukan.
Dengan cara itu, maka Web Developer tidak perlu lagi repot-repot memikirkan cara membaca Record di setiap Database yang berbeda. ADODB justru dibuat untuk menseragamkan metode pembacaan data dari Database seperti kode pada contoh di atas tadi.
Benar-benar keren memang PHPMaker, bah! 😀
agung mengatakan
wah terima kasih.. pak Masino ini yang saya cari..
Masino Sinaga mengatakan
Sama-sama.
Safitri F.A mengatakan
selamat pagi Pak Masino, saya ingin bertanya, bagaimana cara menampilkan data jika data itu berupa recordset dari API ke dalam tampilan website menggunakan PHP maker? Mohon bantuannya, terimakasih.
Masino Sinaga mengatakan
Tinggal parsing aja data yang Anda peroleh dari API tadi, lalu Anda bisa menampilkannya dengan menggunakan server event Row_Rendered atau menggunakan fitur Custom Files, misalnya.
Sakinah mengatakan
Saya kan kk mau menkonekkan database di Dreamweaver. Saya udah buat tablenya didatabase tersebut. Saya mau buat recodset tapi dikoneksinya gak muncul tablenya cuma hanya databasenya aja yang muncul. Nah saya buat databasenya itu di phpmyadmin. Tapi ko gak bisa terkoneksiya tablenya.
Apa ada masalah ya dipengimputan databasenya atau di Dreamweaver nya
Masino Sinaga mengatakan
Kok Dreamweaver? Tulisan ini tidak membahas Dreamweaver, tapi PHPMaker.