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 相关文章推荐
FCKeditor添加自定义按钮
Mar 27 PHP
phpMyAdmin链接MySql错误 个人解决方案
Dec 28 PHP
php 模拟POST|GET操作实现代码
Jul 20 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
Aug 21 PHP
PHP原生模板引擎 最简单的模板引擎
Apr 25 PHP
$_GET['goods_id']+0 的使用详解
Jun 06 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
Nov 18 PHP
Apache服务器下防止图片盗链的办法
Jul 06 PHP
php提交过来的数据生成为txt文件
Apr 28 PHP
php获取当前url地址的方法小结
Jan 10 PHP
Yii支持多域名cors原理的实现
Dec 05 PHP
PHP获取学生成绩的方法
Nov 17 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
asp和php下textarea提交大量数据发生丢失的解决方法
2008/01/20 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
2010/04/13 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2013/05/06 PHP
解析PHP跨站刷票的实现代码
2013/06/18 PHP
解析php常用image图像函数集
2013/06/24 PHP
PC端微信扫码支付成功之后自动跳转php版代码
2017/07/07 PHP
javascript 页面划词搜索JS
2009/09/28 Javascript
js 模拟实现类似c#下的hashtable的简单功能代码
2010/01/24 Javascript
jquery插件制作 自增长输入框实现代码
2012/08/17 jQuery
jQuery ReferenceError: $ is not defined 错误的处理办法
2013/05/10 Javascript
详解Javascript模板引擎mustache.js
2016/01/20 Javascript
基于javascript数组实现图片轮播
2016/05/02 Javascript
jQuery实现图像旋转动画效果
2016/05/29 Javascript
深入理解js generator数据类型
2016/08/16 Javascript
JavaScript中附件预览功能实现详解(推荐)
2017/08/15 Javascript
基于vue v-for 循环复选框-默认勾选第一个的实现方法
2018/03/03 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
原生js实现碰撞检测
2020/03/12 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
讲解Python中if语句的嵌套用法
2015/05/14 Python
详解python3实现的web端json通信协议
2016/12/29 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
python list格式数据excel导出方法
2018/10/31 Python
python使用pandas处理大数据节省内存技巧(推荐)
2019/05/05 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
2019/05/13 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
利用Python实现Json序列化库的方法步骤
2020/09/09 Python
美国高街时尚品牌:OASAP
2016/07/24 全球购物
美国转售二手商品的电子商务平台:BLINQ
2018/12/13 全球购物
Web Service面试题:如何搭建Axis2的开发环境
2012/06/20 面试题
现代化办公人员工作的自我评价
2013/10/16 职场文书
国庆节文艺活动方案
2014/02/03 职场文书
成立公司计划书
2014/05/07 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书
python+opencv实现视频抽帧示例代码
2021/06/11 Python