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 验证图片生成函数
May 21 PHP
phpMyAdmin 安装配置方法和问题解决
Jun 08 PHP
php数组函数序列之array_keys() - 获取数组键名
Oct 30 PHP
PHP实现根据浏览器跳转不同语言页面代码
Aug 02 PHP
php实现的Captcha验证码类实例
Sep 22 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
Feb 02 PHP
PHP保存session到memcache服务器的方法
Jan 19 PHP
Thinkphp框架开发移动端接口(1)
Aug 18 PHP
php文件上传、下载和删除示例
Aug 28 PHP
PHP实现普通hash分布式算法简单示例
Aug 06 PHP
PHP两个n位的二进制整数相加问题的解决
Aug 26 PHP
PHP聊天室简单实现方法详解
Dec 08 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
深入解析yii权限分级式访问控制的实现(非RBAC法)
2013/06/13 PHP
linux下安装php的memcached客户端
2014/08/03 PHP
phplot生成图片类用法详解
2015/01/06 PHP
Symfony2函数用法实例分析
2016/03/18 PHP
php微信浏览器分享设置以及回调详解
2016/08/01 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
2018/08/04 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
JQuery与JSon实现的无刷新分页代码
2011/09/13 Javascript
DOM 中的事件处理介绍
2012/01/18 Javascript
jquery中文乱码的多种解决方法
2013/06/21 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
2013/07/04 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
基于jQuery实现收缩展开功能
2016/03/18 Javascript
JavaScript中定义对象原型的两种使用方法
2016/12/15 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
11行JS代码制作二维码生成功能
2018/03/09 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
基于form-data请求格式详解
2019/10/29 Javascript
Element-ui 自带的两种远程搜索(模糊查询)用法讲解
2021/01/29 Javascript
Python 学习笔记
2008/12/27 Python
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
2014/08/22 Python
Django的session中对于用户验证的支持
2015/07/23 Python
python抓取并保存html页面时乱码问题的解决方法
2016/07/01 Python
Python OpenCV 使用滑动条来调整函数参数的方法
2019/07/08 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
Python使用socket_TCP实现小文件下载功能
2020/10/09 Python
Python 远程开关机的方法
2020/11/18 Python
PHP面试题-$message和$$message的区别
2015/12/08 面试题
八年级音乐教学反思
2014/01/09 职场文书
房屋委托书范本
2014/04/04 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
婚礼长辈答谢词
2015/09/29 职场文书
《灰雀》教学反思
2016/02/19 职场文书
JS轻量级函数式编程实现XDM二
2022/06/16 Javascript