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 相关文章推荐
Excel数据导入Mysql数据库的实现代码
Jun 05 PHP
PHP中函数内引用全局变量的方法
Oct 20 PHP
PHP strtok()函数的优点分析
Mar 02 PHP
php中使用preg_replace函数匹配图片并加上链接的方法
Feb 06 PHP
php中使用$_REQUEST需要注意的一个问题
May 02 PHP
php实现的简单美国商品税计算函数
Jul 13 PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 PHP
详解PHP编码转换函数应用技巧
Oct 22 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
Laravel5框架自定义错误页面配置操作示例
Apr 17 PHP
Smarty模板类内部原理实例分析
Jul 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
php顺序查找和二分查找示例
2014/03/27 PHP
php上传大文件失败的原因及应对策略
2015/10/20 PHP
Yii2框架可逆加密简单实现方法
2017/08/25 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
jQuery 使用手册(一)
2009/09/23 Javascript
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
JavaScript 基础篇之运算符、语句(二)
2012/04/07 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
2017/06/22 Javascript
JS中定位 position 的使用实例代码
2017/08/06 Javascript
JS匿名函数和匿名自执行函数概念与用法分析
2018/03/16 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
基于Vue2x的图片预览插件的示例代码
2018/05/14 Javascript
原生JS实现简单的倒计时功能示例
2018/08/30 Javascript
jQuery.validate.js表单验证插件的使用代码详解
2018/10/22 jQuery
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
Vue 引入AMap高德地图的实现代码
2019/04/29 Javascript
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
Python的Flask框架中配置多个子域名的方法讲解
2016/06/07 Python
Python随机生成数据后插入到PostgreSQL
2016/07/28 Python
python查看微信好友是否删除自己
2016/12/19 Python
Python标准库shutil用法实例详解
2018/08/13 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
keras 指定程序在某块卡上训练实例
2020/06/22 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
2020/09/23 Python
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
手工制作的豪华英式沙发和沙发床:Willow & Hall
2019/05/03 全球购物
编程实现去掉XML的重复结点
2014/05/28 面试题
最新创业融资计划书
2014/01/19 职场文书
行政专员的岗位职责
2014/03/10 职场文书
员工年终自我评价
2014/09/14 职场文书
党的群众路线教育实践活动个人整改方案
2014/10/25 职场文书
迎新生晚会主持词
2015/06/30 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书
Python安装使用Scrapy框架
2022/04/12 Python
ubuntu如何搭建vsftpd服务器
2022/12/24 Servers