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框架的性能
Jan 10 PHP
一步一步学习PHP(8) php 数组
Mar 05 PHP
APACHE的AcceptPathInfo指令使用介绍
Jan 18 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
Nov 19 PHP
thinkphp普通查询与表达式查询实例分析
Nov 24 PHP
php使用ZipArchive函数实现文件的压缩与解压缩
Oct 27 PHP
Yii中的cookie的发送和读取
Jul 27 PHP
微信支付PHP SDK ―― 公众号支付代码详解
Sep 13 PHP
Yii框架通过请求组件处理get,post请求的方法分析
Sep 03 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
Sep 30 PHP
PHP 对象接口简单实现方法示例
Apr 13 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
May 26 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
一个连接两个不同MYSQL数据库的PHP程序
2006/10/09 PHP
PHP curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
在windows服务器开启php的gd库phpinfo中未发现
2013/01/13 PHP
PHP获取网页所有连接的方法(附demo源码下载)
2016/03/30 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
javascript 操作cookies及正确使用cookies的属性
2009/10/15 Javascript
JavaScript传递变量: 值传递?引用传递?
2011/02/22 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
2014/06/24 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
2015/12/03 Javascript
js实现网页收藏功能
2015/12/17 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
JavaScript实现图片瀑布流和底部刷新
2017/01/02 Javascript
JS计算两个时间相差分钟数的方法示例
2018/01/10 Javascript
微信小程序如何使用canvas二维码保存至手机相册
2019/07/15 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
vue 点击其他区域关闭自定义div操作
2020/07/17 Javascript
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
基于Python List的赋值方法
2018/06/23 Python
对python 自定义协议的方法详解
2019/02/13 Python
Django中的静态文件管理过程解析
2019/08/01 Python
Python实现封装打包自己写的代码,被python import
2020/07/12 Python
清洁工表扬信
2014/01/08 职场文书
国税会议欢迎词
2014/01/16 职场文书
简历上的自我评价
2014/02/03 职场文书
前厅收银主管岗位职责
2014/02/04 职场文书
采购求职信
2014/03/17 职场文书
2013年最新自荐信范文
2014/06/23 职场文书
挂职学习心得体会
2014/09/09 职场文书
单位在职证明书
2014/09/11 职场文书
出租房屋协议书
2014/09/14 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
2014年变电站工作总结
2014/12/19 职场文书
工程服务质量承诺书
2015/04/29 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技