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 相关文章推荐
第二节 对象模型 [2]
Oct 09 PHP
PHP函数utf8转gb2312编码
Dec 21 PHP
php 常用类汇总 推荐收藏
May 13 PHP
PHP下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
Jun 09 PHP
一个PHP的QRcode类与大家分享
Nov 13 PHP
用PHP写的基于Memcache的Queue实现代码
Nov 27 PHP
PHP中数组的分组排序实例
Jun 01 PHP
php利用scws实现mysql全文搜索功能的方法
Dec 25 PHP
php实现用户注册密码的crypt加密
Jun 08 PHP
Laravel中Facade的加载过程与原理详解
Sep 22 PHP
详解PHP队列的实现
Mar 14 PHP
php解决crontab定时任务不能写入文件问题的方法分析
Sep 16 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实现var_export的详细介绍
2013/06/20 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
2020/05/26 PHP
javascript document.referrer 用法
2009/04/30 Javascript
比较简单的异步加载JS文件的代码
2009/07/18 Javascript
25个优雅的jQuery Tooltip插件推荐
2011/05/25 Javascript
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
JS中使用sort结合localeCompare实现中文排序实例
2014/07/23 Javascript
JQuery+Ajax实现数据查询、排序和分页功能
2015/09/27 Javascript
Bootstrap媒体对象的实现
2016/05/01 Javascript
JS转换HTML转义符的方法
2016/08/24 Javascript
使用BootStrapValidator完成前端输入验证
2016/09/28 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
js canvas实现QQ拨打电话特效
2017/05/10 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
2017/08/03 Javascript
详解升级react-router 4 踩坑指南
2017/08/14 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
2019/05/31 jQuery
基于layui的table插件进行复选框联动功能的实现方法
2019/09/19 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
python实现生成字符串大小写字母和数字的各种组合
2019/01/01 Python
Django中的FBV和CBV用法详解
2019/09/15 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
CSS3 清除浮动的方法示例
2018/06/01 HTML / CSS
销售行政专员职责
2014/01/03 职场文书
卖房授权委托书样本
2014/10/05 职场文书
2014年办公室人员工作总结
2014/12/09 职场文书
建党伟业观后感
2015/06/01 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
保护环境建议书作文300字
2015/09/14 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang
pytorch损失反向传播后梯度为none的问题
2021/05/12 Python
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python
CSS中float高度塌陷问题的四种解决方案
2022/04/18 HTML / CSS
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL