您现在的位置是:网站首页 > 当代文学

分页显示Oracle数据库记录的类之一-PHP代码-PHP教程-幽默笑话

本站2019-07-08154人围观
简介 文章内容分页显示Oracle数据库记录的类之一修改时间:[2008/07/2912:20]阅读次数:[806]发表者:[起缘]

分页显示Oracle数据库记录的类之一-PHP代码-PHP教程-幽默笑话

文章内容分页显示Oracle数据库记录的类之一修改时间:[2008/07/2912:20]阅读次数:[806]发表者:[起缘]<php/*********************************************日期:2000-9-23分页显示Oracle数据库记录的类更新日期:2000-10-19增加显示TopRecord的功能,允许第一页显示的记录数与其它页不同。 作者:sharetopemail:[emailprotected]***********************************************/classTOracleViewPage{var$Table;//表名var$MaxLine;//每页显示行数var$LinkId;//数据库连接号var$Id;//排序参考字段var$Offset;//记录偏移量var$Total;//记录总数var$Number;//本页读取的记录数var$TopNumber;//读新记录时实际取出的记录数var$Result;//读出的结果var$TopResult;//读新记录时的结果var$TheFirstPage;//特殊指定第一页的链接var$StartRec;//指定第二页的起始记录号var$TPages;//总页数var$CPages;//当前页数var$TGroup;var$PGroup;//每页显示的页号个数var$CGroup;var$Condition;//显示条件如:whereid=$idorderbyiddescvar$PageQuery;//分页显示要传递的参数//-------------------------------------//以下构造函数、析构函数及初始化函数//-------------------------------------//构造函数//参数:表名、最大行数、分页参考的字段、每页显示的页号数functionTOracleViewPage($TB,$ML,$id){global$offset;$this-Table=$TB;$this-MaxLine=$ML;$this-Id=$id;$this-StartRec=0;if(isset($offset))$this-Offset=$offset;else$this-Offset=0;$this-Condition=$this-TheFirstPage=NULL;$this-PageQury=NULL;}//初始化//参数:用户名、密码、数据库functionInitDB($user,$password,$db){if(PHP_OS==WINNT)$dllid=dl(php3_);$this-LinkId=OCILogon($user,$password,$db);}//断开functionDestroy(){OCILogoff($this-LinkId);}//-------------------------//Set函数//-------------------------//设置显示条件//如:whereid=$idorderbyiddesc//要求是字串,符合SQL语法(本字串将加在SQL语句后)functionSetCondition($s){$this-Condition=$s;}//设置每组的显示个数functionSetNumGroup($pg){$this-PGroup=$pg;}//设置首页,如无则为NULLfunctionSetFirstPage($fn){$this-TheFirstPage=$fn;}//设置起始记录,如无则取默认0functionSetStartRecord($org){$this-StartRec=$org;}//设置传递参数//key参数名value参数值//如:setpagequery(id,$id);如有多个参数要传递,可多次调用本函数。 functionSetPageQuery($key,$value){$tmp[key]=$key;$tmp[value]=$value;$this-PageQuery[]=$tmp;}//--------------------------------//Get函数//--------------------------------//取记录总数functionGetTotalRec(){$SQL=SELECTCount(*)AStotalFROM.$this-Table..$this-Condition;$stmt=OCIParse($this-LinkId,$SQL);$bool=OCIExecute($stmt);if(!$bool){echo连接失败!OCILogoff($this-LinkId);exit;}else{OCIFetch($stmt);$this-Total=OCIResult($stmt,1);}OCIFreeStatement($stmt);}//取总页数、当前页functionGetPage(){$this-TPages=ceil($this-Total/$this-MaxLine);$this-CPages=ceil($this-Offset/$this-MaxLine)+1;}//取总组数、当前组functionGetGroup(){$this-TGroup=ceil($this-TPages/$this-PGroup);$this-CGroup=ceil($this-CPages/$this-PGroup);}。