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产生动态的影像图
Oct 09 PHP
模拟SQLSERVER的两个函数:dateadd(),datediff()
Oct 09 PHP
PHP PDO函数库详解
Apr 27 PHP
php curl常见错误:SSL错误、bool(false)
Dec 28 PHP
解析php中const与define的应用区别
Jun 18 PHP
PHP生成随机密码方法汇总
Aug 27 PHP
PHP面向对象程序设计OOP继承用法入门示例
Dec 27 PHP
PHP查询分页的实现代码
Jun 09 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
php实现单笔转账到支付宝功能
Oct 09 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
Oct 18 PHP
Laravel框架Eloquent ORM修改数据操作示例
Dec 03 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
thinkphp的CURD和查询方式介绍
2013/12/19 PHP
php递归方法实现无限分类实例代码
2014/02/28 PHP
利用PHP如何写APP接口详解
2016/08/23 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
2017/02/23 PHP
js 动态为textbox添加下拉框数据源的方法
2014/04/24 Javascript
js实现顶部可折叠的菜单工具栏效果实例
2015/05/09 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
javascript汉字拼音互转的简单实例
2016/10/09 Javascript
RGB和YUV 多媒体编程基础详细介绍
2016/11/04 Javascript
JS日程管理插件FullCalendar简单实例
2017/02/07 Javascript
原生javascript实现的全屏滚动功能示例
2017/09/19 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
layui select获取自定义属性方法
2018/08/15 Javascript
JavaScript常用事件介绍
2019/01/21 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
JS Ajax请求会话过期处理问题解决方法分析
2019/11/16 Javascript
[01:12:08]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.24
2019/09/10 DOTA
Python开发常用的一些开源Package分享
2015/02/14 Python
Python socket实现简单聊天室
2018/04/01 Python
解决python写入mysql中datetime类型遇到的问题
2018/06/21 Python
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
python中使用print输出中文的方法
2018/07/16 Python
Python Numpy:找到list中的np.nan值方法
2018/10/30 Python
在python中pandas读文件,有中文字符的方法
2018/12/12 Python
利用CSS3动画实现圆圈由小变大向外扩散的效果实例
2018/09/10 HTML / CSS
英国精品买手店:Browns Fashion
2016/09/29 全球购物
美国最大点评网站:Yelp
2018/02/14 全球购物
Chi Chi London官网:购买连衣裙和礼服
2020/10/25 全球购物
介绍一下如何优化MySql
2016/12/20 面试题
《第一朵杏花》教学反思
2014/04/16 职场文书
应届毕业生自荐信
2014/05/28 职场文书
欢迎标语大全
2014/06/21 职场文书
单位工作证明书格式
2014/10/04 职场文书
工资证明格式模板
2015/06/12 职场文书
给原生html中添加水印遮罩层的实现示例
2021/04/02 Javascript
Java Spring读取和存储详细操作
2022/08/05 Java/Android