Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析


Posted in PHP onMarch 21, 2016

本文实例讲述了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
// 设置一个 adapter
require_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);
// 连接数据库表
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();
}
?>

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。

PHP 相关文章推荐
如何在PHP中使用Oracle数据库(5)
Oct 09 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
Jun 21 PHP
php 启动时报错的简单解决方法
Jan 27 PHP
php获取文件大小的方法
Feb 26 PHP
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
Nov 18 PHP
一波PHP中cURL库的常见用法代码示例
May 06 PHP
Smarty简单生成表单元素的方法示例
May 23 PHP
PHP执行shell脚本运行程序不产生core文件的方法
Dec 28 PHP
php mysql实现mysql_select_db选择数据库
Dec 30 PHP
PHP提取字符串中的手机号正则表达式怎么写
Jul 17 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 PHP
php数组遍历类与用法示例
May 24 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
Mar 21 #PHP
Zend Framework教程之Zend_Db_Table用法详解
Mar 21 #PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
Mar 21 #PHP
PHP常见数组函数用法小结
Mar 21 #PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
Mar 20 #PHP
Zend Framework入门知识点小结
Mar 19 #PHP
Zend Framework缓存Cache用法简单实例
Mar 19 #PHP
You might like
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
PHP函数篇之掌握ord()与chr()函数应用
2011/12/05 PHP
php 中奖概率算法实现代码
2017/01/25 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
js限制input标签中只能输入中文
2015/06/26 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
深入探究AngularJS框架中Scope对象的超级教程
2016/01/04 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
基于JQuery实现分隔条的功能
2016/06/17 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
微信小程序的分类页面制作
2017/06/27 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
vue-cli点击实现全屏功能
2020/03/07 Javascript
vue@cli3项目模板怎么使用public目录下的静态文件
2020/07/07 Javascript
vue-以文件流-blob-的形式-下载-导出文件操作
2020/08/07 Javascript
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
[01:32:50]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第一场 1月25日
2021/03/11 DOTA
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
python 函数的缺省参数使用注意事项分析
2019/09/17 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
2020/08/02 Python
Python排序函数的使用方法详解
2020/12/11 Python
Python 数据分析之逐块读取文本的实现
2020/12/14 Python
大学生毕业自荐信
2013/10/10 职场文书
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
《庐山的云雾》教学反思
2014/04/22 职场文书
中国梦我的梦演讲稿
2014/04/23 职场文书
学习党代会心得体会
2014/09/05 职场文书
经典导游欢迎词
2015/01/26 职场文书
论文致谢词范文
2015/05/14 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
如何用JavaScript实现一个数组惰性求值库
2021/05/05 Javascript