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 相关文章推荐
ASP知识讲座四
Oct 09 PHP
那些年一起学习的PHP(三)
Mar 22 PHP
基于curl数据采集之单页面采集函数get_html的使用
Apr 28 PHP
php使用curl访问https示例分享
Jan 17 PHP
PHP实现获取FLV文件的时间
Feb 10 PHP
PHP模板引擎smarty详细介绍
May 26 PHP
yii2学习教程之5种内置行为类详解
Aug 03 PHP
PHP实现腾讯与百度坐标转换
Aug 05 PHP
php实现生成带二维码图片并强制下载功能
Feb 24 PHP
php 中phar包的使用教程详解
Oct 26 PHP
laravel 框架配置404等异常页面
Jan 07 PHP
php多进程中的阻塞与非阻塞操作实例分析
Mar 04 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 三维饼图的实现代码
2008/09/28 PHP
php网上商城购物车设计代码分享
2012/02/15 PHP
PHP简单实现生成txt文件到指定目录的方法
2016/04/25 PHP
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
jQuery的实现原理的模拟代码 -4 重要的扩展函数 extend
2010/08/03 Javascript
jQuery焦点图切换特效插件封装实例
2013/08/18 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
不同js异步函数同步的实现方法
2016/05/28 Javascript
Javascript实现倒计时时差效果
2017/05/18 Javascript
最通俗易懂的javascript变量提升详解
2017/08/05 Javascript
js统计页面上每个标签的数量实例代码
2018/05/29 Javascript
简单了解node npm cnpm的具体使用方法
2019/02/27 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
解决vue-router 二级导航默认选中某一选项的问题
2019/11/01 Javascript
[00:34]TI7不朽珍藏III——地穴编织者不朽展示
2017/07/15 DOTA
Python修改Excel数据的实例代码
2013/11/01 Python
python自动化工具日志查询分析脚本代码实现
2013/11/26 Python
Python中的闭包总结
2014/09/18 Python
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
Python数据分析之如何利用pandas查询数据示例代码
2017/09/01 Python
浅谈flask源码之请求过程
2018/07/26 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
python pillow模块使用方法详解
2019/08/30 Python
基于Python实现大文件分割和命名脚本过程解析
2019/09/29 Python
Python实现不规则图形填充的思路
2020/02/02 Python
详解基于 Canvas 手撸一个六边形能力图
2019/09/02 HTML / CSS
经销商会议欢迎词
2014/01/11 职场文书
求职毕业生自荐书
2014/02/08 职场文书
环保建议书
2014/03/12 职场文书
计生工作先进事迹
2014/08/15 职场文书
买卖合同纠纷代理词
2015/05/25 职场文书
如何撰写创业策划书
2019/06/27 职场文书
Python网络编程之ZeroMQ知识总结
2021/04/25 Python
pytorch中的model.eval()和BN层的使用
2021/05/22 Python
python基于机器学习预测股票交易信号
2021/05/25 Python