频道直达 - 专题 - 新闻 - 基础 - 高级 - 安装 - 技巧 - 数据库 - 手册 - PHP - Linux - Java - MySQL - Apache - 麻辣堂 - 狼盟 - Rails社群 - 搜索 - 下载 - 开源 - 论坛
PHP开发资源网 主页>>PHP基础教程>> 收藏此文 | 收藏本站 | 设为首页

PHP ADODB 入门教程(9)

来源:www.phpres.com 作者:Angelover 出处:www.phpres.com 2007-7-19 12:42:18 进入讨论组
关 键 词: PHP ADODB 入门教程(9)

ADORecordSet(资料集)
当一个SQL指令成功的被 ADOConnection->Execute($sql)执行后,一个 ADORecordSet 对象会被回传回来。这个对象提供了一个虚拟的指针,所以我们可以移动它,从一笔到一笔。也提供一些函数,以取得字段信息和字段类别,并有协助函数去格式化结果,以展示给使用者看。

ADORecordSet 属性
fields: 包含了目前记录的数组。不是关连式数组,但它的索引值是从 0 到 字段数 - 1。请参考函数 Fields ,这个函数的动作就像是一个关连式数组。

dataProvider: 连结数据库的底层机制,正常设定为 native ,除非是使用 odbc 或 ado 。

blobSize: 一个 char , string 或者 varchar object 在被转成 Blob 前的最大长度(Blob 在显示时应该使用 textarea)。其它请参考 MetaType 函数。

sql: 储存了建立本数据集所使用的 sql 指令。

canSeek: 如果 Move() 函数有作用,会被设成 true 。

EOF: 当指针被移动到最后一笔时,这个值会被设定成 true 。

ADORecordSet 函数
ADORecordSet( )

建构函数。一般来说你不需要自己呼叫这个函数。

GetAssoc([$force_array])

如果字段数大于 2 ,那么从资料集中产生一个关连式数组。这个数组是从目前的指针起一直到档尾(EOF)。这个资料集的第一个字段会成为数组的索引。如果字段数刚好是2,当这数组被每一个键值所建立时,那么索引会直接对应到值,除非  $force_array 被设成 true 。

范例:

以下是我们资料集的资料:

列1: Apple, Fruit, Edible
列2: Cactus, Plant, Inedible
列3: Rose, Flower, Edible

GetAssociation 将会产生一个如下的关系型数组:

Apple => [Fruit, Edible]
Cactus => [Plant, Inedible]
Rose => [Flower,Edible]

回传值:

关连式数组,错误则传回 false 。

GetArray([$number_of_rows])

从目前指针位置产生一个数组,索引值从 0 到 $number_of_rows - 1 。如果 $number_of_rows 没有被定义,那会到档尾(EOF)。

GetRows([$number_of_rows])

是 GetArray() 的同义函数,是为了与 Microsoft ADO 兼容才有的。

GetMenu($name, [$default_str=''], [$blank1stItem=true], [$multiple_select=false], [$size=0], [$moreAttr=''])

建立一个 HTML 选单  (<select><option><option></select>) 。资料集的第一栏 (fields[0]) 将会作为 <option> 里的显示字符串。如果资料集有超过一个以上的字段,第二栏 (fields[1]) 将设定成回传给WEB服务器的值(即 value)。选单将被给予 $name 为名称。

如果 $default_str 被定义了,那么如果 $default_str == fields[0] , 那么这个字段将会被选取。 如果 $blank1stItem 为 true ,那第一个选项将会是空值。$Default_str 在对于可多选清单盒时,可以是一个数组。

要产生一个选单区,设定 $size 为一个非 0 值(或者传入 $default_str 为一个数组)。如果 $multiple_select 为 true ,那么一个选单区将会被产生成有 $size 个项目可见的选单(如果 $size ==  0 那预设为 5 个),而且ADODB将会回传一个数组给服务器。最后,你可以使用 $moreAttr 去增加其它的属性,像是 javascript 或样式表。

选单范例 1: GetMenu('menu1','A',true) 将会产生一个像这样的选单 : A B C 这里的资料 (A,1), (B,2), (C,3). 请参考 范例 5 。

选单范例 2: 相同的资料, GetMenu('menu1',array('A','B'),false) 将会产生一个 A 及 B 被选取的选单 : A B C

GetMenu2($name, [$default_str=''], [$blank1stItem=true], [$multiple_select=false], [$size=0], [$moreAttr=''])

近似于 GetMenu ,除了 $default_str 将会和 fields[1] 做比对,也就是选项值。

选单范例 3: 给予在范例 2 里的数据 , GetMenu2('menu1',array('1','2'),false) 将会产生一个选单,A及B将会被选取。然而,这一次的被选取的比对基准是第二个字段,也就是存放要被回传给服务器里的值。

UserDate($str, [$fmt])

转换日期字符串 $str 为另一个格式,UserDate 呼叫 UnixDate 来解译 $str ,而 $fmt 默认值是 Y-m-d 。

UserTimeStamp($str, [$fmt])

转换时间字符串 $str 为另一个格式,时间字符串格式是 Y-m-d H:i:s , 像是 "2002-02-28 23:00:12"。UserTimeStamp 呼叫 UnixTimeStamp 来解译 $str ,而 $fmt 默认值为 Y-m-d H:i:s 。

UnixDate($str)

将日期字符串 $str 解译,并且转换成 unix mktime 格式(从 1970.01.01 00:00:00 起到现在的秒数)后传回。预设日期是以 Y-m-d H:i:s 格式来传入的。而对于 Sybase 及 Microsoft SQL Server 而言 M d Y 也是可以接受的(三个字符的月份表示法是被一个全域数组所控制的,这个部份可能需要在地化 )。

自 1.91 版起,这个函数存在于 ADORecordSet 及 ADOConnection两个地方。

UnixTimeStamp($str)

将时间字符串 $str 解译,并且转换成 unix mktime 格式(从 1970.01.01 00:00:00 起到现在的秒数)后传回。预设日期是以 Y-m-d H:i:s 格式来传入的。而对于 Sybase 及 Microsoft SQL Server 而言 M d Y 也是可以接受的(三个字符的月份表示法是被一个全域数组所控制的,这个部份可能需要在地化 )。

欢迎进入PHP开发资源论坛讨论。
收藏此文】【 】【打印】【关闭
相关文章
图文推荐
论 坛 资 源
PHP开发资源网奋斗目标
阅读排行:
热门技术文档
最新图文档
本站编辑推荐:(本站开通Delphi4PHP专区,欢迎进入论坛交流!)
编缉最近更新文章
网站赞助商
搜索您感兴趣的内容
 
   网站首页 -  网站地图 -  网站合作 -  手册中心 -  通用网址 -  网站论坛 -  网站投稿 -  友情链接 -  帮助中心
版权所有:PHP开发资源网 © 2003-2008 通用网址:PHP资源网 合作媒体: 赛迪网IT技术
互联网违法和不良信息举报中心 | 不良信息举报信箱