Kadang-kadang, Web Developer membutuhkan informasi dari sebuah Recordset yang berisi kumpulan record yang sudah berhasil dipilih dan siap ditampilkan di sebuah halaman pada Aplikasi Web. Informasi ini bisa berupa ID dari Recordset, Jumlah Field yang terdapat di Recordset, Jumlah Total Record di Recordset, Jumlah Record per Halaman, dan lain sebagainya.
PHPMaker sudah menyediakan sebuah server event yang bernama Recordset_Selected yang merupakan member dari Class Page dan berada di bawah Server Events -> Table-Specific -> Common. Pastikan sebelumnya Anda sudah memilih salah satu tabel yang Anda inginkan dari panel Database di sebelah kiri dari project PHPMaker Anda, untuk memastikan Anda menambahkan kode di server event pada Table yang tepat.
Seperti namanya, server event ini akan dipanggil setelah Recordset yang berisi kumpulan record-record yang akan ditampilkan selesai dipilih dan diambil dari Database.
Untuk melihat informasi apa saja yang bisa Anda gunakan dari Recordset yang sudah dipilih tadi, maka cukup tambahkan kode var_dump($rs); ke dalam server event Recordset_Selected, sehingga selengkapnya kode tersebut menjadi seperti ini:
// Recordset Selected event function Recordset_Selected(&$rs) { //echo "Recordset Selected"; var_dump($rs); }
lalu setelah itu generate ulang semua file script dengan menggunakan PHPMaker, kemudian panggil kembali Aplikasi Web tersebut dari browser. Anda seharusnya sekarang melihat informasi mengenai Recordset tadi, pada bagian atas halaman yang sedang Anda buka. Informasi itu berupa nilai setiap Field yang terdapat di record pertama, ID Recordset (resultId), Indeks Record yang pertama (_currentRow), Jumlah Record per halaman (_numOfRows), Jumlah Field pada sebuah Record (_numOfFields), Mode Pengambilan Record (fetchMode), dan Status End Of File (EOF).
Artinya, dari property yang dimiliki oleh object Recordset tadi, Anda sebagai Web Developer dapat mengoptimalkan informasi tersebut (jika dibutuhkan).
Contoh, jika Anda ingin mengambil informasi Jumlah Record per Halaman yang akan ditampilkan, maka Anda bisa menggunakan kode berikut:
// Recordset Selected event function Recordset_Selected(&$rs) { //echo "Recordset Selected"; $this->setSuccessMessage("Jumlah record per halaman: " . $rs->_numOfRows); }
Harap diingat, bahwa informasi yang terdapat di property _numOfRows tadi berbeda antara yang ditampilkan pada halaman List dengan yang ditampilkan pada halaman View. Di halaman List, property ini berisi informasi jumlah record per halaman, sedangkan di halaman View, property ini berisi jumlah total record seluruhnya yang terdapat di Recordset tersebut.
Selain itu, harap agar diingat juga, bahwa di server event Recordset_Selected, Anda hanya bisa menampilkan informasi atau nilai field di record pertama saja. Anda tidak dapat mengetahui nilai field di record kedua dan seterusnya. Jika Anda ingin mengetahui informasi nilai field di record kedua dan seterusnya, Anda dapat menggunakan server event yang bernama Row_Rendered. Mengenai hal ini akan kita bahas lebih lanjut di artikel yang akan datang.
Saya sarankan agar Anda mengeksplorasi dan mencoba sendiri dengan cara mengekspos nilai dari property milik object Recodset tadi.
Lagi-lagi, betapa mudahnya Anda sebagai Web Developer dapat mengoptimalkan informasi yang dapat diambil melalui server event dari project PHPMaker Anda. 🙂
Tinggalkan Balasan