本文實例講述了Zend Framework框架Zend_Db_Table_Rowset用法。分享給大家供大家參考,具體如下:
1. 簡介
Zend_Db_Table_Rowset是 Zend_Db_Table_Row對象集合的迭代器.通常來說,你不可以自己實例化Zend_Db_Table_Rowset, 而是通過調用Zend_Db_Table::find()方法或者fetchAll()方法將Zend_Db_Table_Rowset作為 結果數據返回過來.接下來就可以遍歷Zend_Db_Table_Row對象集合并進行修改.
2. 取回結果集
首先,需要實例化一個Zend_Db_Table類.
?php// 設置一個 adapterrequire_once Zend/Db.php $params = array ( host = 127.0.0.1 , username = malory , password = ****** , dbname = camelot $db = Zend_Db::factory( PDO_MYSQL , $params);// 為所有的Zend_Db_Table對象設置默認require_once Zend/Db/Table.php Zend_Db_Table::setDefaultAdapter($db);// 連接數據庫表html' target='_blank'>class RoundTable extends Zend_Db_Table {}$table = new RoundTable();?
接下來,可以使用Zend_Db_Table::find()方法和多個鍵值,或者使用Zend_Db_Table::fetchAll()方法對數據庫進行查詢,
返回的結果是一個Zend_Db_Table_Rowset對象,可以通過該對象遍歷結果集中的每一個Zend_Db_Table_Row對象.
?php// 從表中取回多條記錄$rowset = $table- fetchAll();// $rowset現在是一個Zend_Db_Table_Rowset對象,該對象中每條記錄就是一個Zend_Db_Table_Row對象?
3. 遍歷結果集
Zend_Db_Table_Rowset實現了簡單程序設計語言的迭代器接口,也就是說,可以對Zend_Db_Table_Rowset 對象進行循環處理,就像使用foreach()函數處理數組一樣.使用這種方法取回的每一個值都是一個對應表 中數據的Zend_Db_Table_Row對象,你可以查看,修改和保存該對象的屬性(即表中的字段值.)
?php// 連接到數據庫中的表class RoundTable extends Zend_Db_Table {}$table = new RoundTable();// 從表中取回多條記錄$rowset = $table- fetchAll();// 顯示所有的記錄foreach ($rowset as $row) { // $row 是一個 Zend_Db_Table_Row 對象 echo p . htmlspecialchars($row- nobleTitle) . . htmlspecialchars($row- firstName) . s . favorite color is . htmlspecialchars($row- favoriteColor) . . /p /n // 更新我們顯示改行的次數 // (對應表中的 times_displayed 字段) $row- timesDisplayed ++; // 保存新記錄. $row- save();?
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !
相關推薦:
關于ZendFramework2連接數據庫的操作
關于Zend Framework自定義Helper類的相關知識
以上就是關于Zend Framework中Zend_Db_Table_Rowset的用法的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答