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&amp;mysql(一)
Oct 09 PHP
一些使用频率比较高的php函数
Oct 03 PHP
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
Feb 09 PHP
通用PHP动态生成静态HTML网页的代码
Mar 04 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
Aug 06 PHP
PHP同时连接多个mysql数据库示例代码
Mar 17 PHP
PHP中使用循环实现的金字塔图形
Nov 08 PHP
smarty中改进truncate使其支持中文的方法
May 30 PHP
PHP实现对数组分页处理实例详解
Feb 07 PHP
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
Jun 09 PHP
tp5.1框架数据库子查询操作实例分析
May 26 PHP
php swoft框架实例用法
Dec 22 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发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
php制作unicode解码工具(unicode编码转换器)代码分享
2013/12/24 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
2014/08/21 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
非常好的js代码
2006/06/27 Javascript
IE浏览器兼容Firefox的JS脚本的代码
2008/10/23 Javascript
js加载之使用DOM方法动态加载Javascript文件
2013/11/08 Javascript
利用js制作html table分页示例(js实现分页)
2014/04/25 Javascript
微信支付如何实现内置浏览器的H5页面支付
2015/09/25 Javascript
基于JavaScript获取鼠标位置的各种方法
2015/12/16 Javascript
深入分析node.js的异步API和其局限性
2016/09/05 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
JS实现颜色的10进制转化成rgba格式的方法
2017/09/04 Javascript
js将键值对字符串转为json字符串的方法
2018/03/30 Javascript
ES7之Async/await的使用详解
2019/03/28 Javascript
通过原生vue添加滚动加载更多功能
2019/11/21 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
2019/11/26 Javascript
[02:43]DOTA2亚洲邀请赛场馆攻略——带你走进东方体育中心
2018/03/19 DOTA
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[50:22]完美盛典-2018年度红毯走秀
2018/12/16 DOTA
python实现自动重启本程序的方法
2015/07/09 Python
详解Python循环作用域与闭包
2019/03/21 Python
keras导入weights方式
2020/06/12 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
全网最详细的PyCharm+Anaconda的安装过程图解
2021/01/25 Python
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
柏林通行证:Berlin Pass
2018/04/11 全球购物
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
2015/07/30 面试题
国际贸易专业个人求职信格式
2014/02/02 职场文书
干部作风建设年活动剖析材料
2014/10/23 职场文书
2014年置业顾问工作总结
2014/11/17 职场文书
2016春节家属慰问信
2015/03/25 职场文书
计划生育目标责任书
2015/05/09 职场文书
2015年学校政教处工作总结
2015/05/26 职场文书