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 相关文章推荐
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
Nov 18 PHP
PHP对象Object的概念 介绍
Jun 14 PHP
php使用curl检测网页是否被百度收录的示例分享
Jan 31 PHP
php生成随机数的三种方法
Sep 10 PHP
thinkphp实现发送邮件密码找回功能实例
Dec 01 PHP
PHP中使用Imagick实现各种图片效果实例
Jan 21 PHP
php数字每三位加逗号的功能函数
Oct 22 PHP
CodeIgniter视图使用注意事项
Jan 20 PHP
Zend Framework教程之视图组件Zend_View用法详解
Mar 05 PHP
PHP文件上传处理案例分析
Oct 15 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
Oct 14 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
Mar 02 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
memcached 和 mysql 主从环境下php开发代码详解
2010/05/16 PHP
基于php常用正则表达式的整理汇总
2013/06/08 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
禁止直接访问php文件代码分享
2020/05/05 PHP
用JS实现一个页面多个css样式实现
2008/05/29 Javascript
javascript jq 弹出层实例
2013/08/25 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
2014/10/08 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
2016/05/03 Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
2016/05/21 Javascript
React简单介绍
2017/05/24 Javascript
详解使用nvm安装node.js
2017/07/18 Javascript
JS基于Location实现访问Url、重定向及刷新页面的方法分析
2018/12/03 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
微信小程序实用代码段(收藏版)
2019/12/17 Javascript
javascript 数组精简技巧小结
2020/02/26 Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
2020/05/23 Javascript
[05:31]DOTA2上海特级锦标赛主赛事第三日RECAP
2016/03/05 DOTA
Python基于time模块求程序运行时间的方法
2017/09/18 Python
python+VTK环境搭建及第一个简单程序代码
2017/12/13 Python
华为校园招聘上机笔试题 扑克牌大小(python)
2020/04/22 Python
在OpenCV里使用Camshift算法的实现
2019/11/22 Python
Python Sympy计算梯度、散度和旋度的实例
2019/12/06 Python
python实例化对象的具体方法
2020/06/17 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
2020/09/28 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
HTML5实现表单自动验证功能实例代码
2017/01/11 HTML / CSS
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
物业电工岗位职责
2013/11/20 职场文书
军训学生自我鉴定
2014/02/12 职场文书
《长征》教学反思
2014/04/27 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
离婚协议书怎么写
2015/01/26 职场文书
办公经费申请报告
2015/05/15 职场文书
田径运动会广播稿
2015/08/19 职场文书