当前位置:首页 > 日记 > 正文

分页显示两类Oracle数据库记录

分页显示两类Oracle数据库记录

            
             
              
             
            

               
               

            



            //--------------------------------
// 工作函数
//--------------------------------

//读取记录
// 主要工作函数,根据所给的条件从表中读取相应的记录
// 返回值是一个二维数组,Result[记录号][字段名]

function ReadList() {

$SQL="SELECT * FROM ".$this->Table." ".$this->Condition." ORDER BY ".$this->Id." DESC";

$stmt = OCIParse($this->LinkId,$SQL);
$bool = OCIExecute($stmt);
if (!$bool) {
echo "连接失败!";
OCILogoff($this->LinkId);
exit;
}
else {
$ncols = OCINumCols($stmt);
for ( $i = 1; $i <= $ncols; $i++ )
$column_name[$i] = OCIColumnName($stmt,$i);
$k=0;

for($j=0;$j<$this->StartRec+$this->Offset;$j++) OCIFetch($stmt);
for($j=0;$j<$this->MaxLine;$j++){
if(OCIFetch($stmt)){
$k++;
for($i=1;$i<=$ncols;$i++)
$temp[$column_name[$i]]=OCIResult($stmt,$i);
$this->Result[]=$temp;
}
else break;
}
$this->Number=$k;

}
OCIFreeStatement($stmt);
return $this->Result;
}
//读最新的记录
//topnum指定要读出的记录数

function ReadTopList($topnum){

$SQL="SELECT * FROM ".$this->Table." ".$this->Condition." ORDER BY ".$this->Id." DESC";

$stmt = OCIParse($this->LinkId,$SQL);
$bool = OCIExecute($stmt);
if (!$bool) {
echo "连接失败!";
OCILogoff($this->LinkId);
exit;
}
else {
$ncols = OCINumCols($stmt);
for ( $i = 1; $i <= $ncols; $i++ )
$column_name[$i] = OCIColumnName($stmt,$i);
$k=0;

for($j=0;$j<$topnum;$j++){
if(OCIFetch($stmt)){
$k++;
for($i=1;$i<=$ncols;$i++)
$temp[$column_name[$i]]=OCIResult($stmt,$i);
$this->TopResult[]=$temp;
}
else break;
}
$this->TopNumber=$k;

}
OCIFreeStatement($stmt);
return $this->TopResult;


}
//---------------------------
// 分页相关
//---------------------------

//显示当前页及总页数
//本函数在GetPage()后调用。
function ThePage() {
echo "第".$this->CPages."页/共".$this->TPages."页";
}

//显示翻页按钮
//此函数要在GetPage()函数之后调用
//显示下页、上页,并加上要传递的参数

function Page() {
$k=count($this->PageQuery);
$strQuery=""; //生成一个要传递参数字串
for($i=0;$i<$k;$i++){
$strQuery.="&".$this->PageQuery[$i][key]."=".$this->PageQuery[$i][value];
}

return $strQuery;
}

function PrePage($strQuery){
$prev=$this->Offset-$this->MaxLine;
if($prev>=0)
echo "<A href=$PHP_SELF?offset=".$prev.$strQuery." class=newslink>上一页</A>";
else if($this->TheFirstPage!=NULL)
echo "<A href=".$this->TheFirstPage." class=newslink>上一页</A>";
else echo "上一页";
}

function NexPage($strQuery){
$next=$this->Offset+$this->MaxLine;
$k=$this->Total-$this->StartRec;
if($next<$k)
echo "<A href=$PHP_SELF?offset=".$next.$strQuery." class=newslink>下一页</A>";
else
echo "下一页";
}
//------------------------------------
// 记录分组
//----------------------------------
//显示分组
function NumPage() {
$first=($this->CGroup-1)*($this->PGroup)+1;
$last=($first+$this->PGroup > $this->TPages)? ($this->TPages+1):($first+$this->PGroup);
$pr=($this->CGroup-2>=0)?( ($this->CGroup-2)*($this->PGroup)+1 ):(-1);
$prev=($pr!=-1)?( ($pr-1)*$this->MaxLine):(0);
$ne=($this->CGroup*$this->PGroup+1<=$this->TPages)?($this->CGroup*$this->PGroup+1):(-1);
$next=($ne!=-1)?( ($ne-1)*$this->MaxLine):(0);

$k=count($this->PageQuery);
$strQuery=""; //生成一个要传递参数字串
for($i=0;$i<$k;$i++){
$strQuery.="&".$this->PageQuery[$i][key]."=".$this->PageQuery[$i][value];
}

if($first!=1)
echo "<A href=$PHP_SELF?offset=".$prev.$strQuery." > << </a>";
for($i=$first;$i<$last;$i++) {
if($this->CPages!=$i){
$current=($i-1)*$this->MaxLine;
echo "<A href=$PHP_SELF?offset=".$current.$strQuery." >".$i."</a> ";
}
else echo "<font color=#e00729>".$i."</font> ";
}
if($ne!=-1)
echo "<A href=$PHP_SELF?offset=".$next.$strQuery." > >> </a>";
}

//******end class
}
?>

相关文章

轻松为Windows2000构建邮件服务器

轻松为Windows2000构建邮件服务器

邮件服务器,轻松,电脑软件,  MDaemon是一款功能非常强大的邮件,可运行于Windows9x/Me和Windows NT/XP/2000/2003,特别适用于那些既需要在局域网中互相发送,又需要同Internet互发邮件的用户。MDaemon除SMTP/POP3外,还包括邮件清单、支持别名、…

桌面日历显示高效的时间管理专家帮

桌面日历显示高效的时间管理专家帮

时间管理,显示,桌面,高效,琐碎,忙!忙!忙!实习、找工作、做毕业设计还有学校隔三岔五的大会小会等,没想到毕业这学期各种繁杂琐碎的事情竟让我忙得昏天黑地。正当我为事情太多没个头绪而困惑时,一位学长向我推荐了《桌面日历秀》,下面我就来为大家…

全球46%视窗7PC运行64位版本

全球46%视窗7PC运行64位版本

运行,视窗,版本,全球,电脑软件,据国外媒体报道,微软星期四宣布,全球近50%的Windows 7用户选择了64个操作系统。 今年年初,64视窗7系统的普及开始加速,据微软星期四公布的数据显示,截至六月底,全球46%的Windows 7 PC运行着64位系统。 相比之下,Wi…

{Windows7}高清高清壁纸壁纸1440x9

{Windows7}高清高清壁纸壁纸1440x9

壁纸,高清,电脑软件,{ Windows7 }高清高清壁纸壁纸1440x900 在软媒论坛成员再次分享他们的漂亮的壁纸,很喜欢山水的颜色。使用()内置的Windows 7美化大师和容易地设置这些图片到Vista、Windows7登陆屏幕。…

微软Windows补丁将悄悄修复漏洞。

微软Windows补丁将悄悄修复漏洞。

漏洞,补丁,电脑软件,Windows, 微软Windows补丁会悄悄修复漏洞:本月初,安全机构Core Security Technologies指出,微软利用上月发布的补丁悄悄修复了三个安全漏洞,而且没有向系统管理员提供任何通知,存在此问题的两个补丁为MS10-024和MS10-028。日…

关闭右下角操作中心白旗——关闭操

关闭右下角操作中心白旗——关闭操

操作,白旗,右下角,中心,电脑软件,win7系统在任务栏右下角的小白旗想关闭它,可以通过以下方法实现:单击{开始} {打开控制面板-所有的控制面板项目通知区域图标}点击左下角的打开或关闭系统图标,并然后在弹出的窗口中选择操作中心{关闭}然后确定…

谷歌网络杂志季刊免费销售

谷歌网络杂志季刊免费销售

季刊,杂志,歌网,电脑软件,北京时间3月24日消息,据国外媒体报道,谷歌最近专门为其1500个英国合作伙伴推出了一本名为Think Quarterly的网络杂志,该杂志旨在“为忙碌世界中的你提供一个喘息的地方”。值得指出的是,谷歌新推的网络杂志Think Quart…

12位代码是最可靠的,需要17134年才

12位代码是最可靠的,需要17134年才

破解,最可靠,代码,电脑软件,乔治亚理工学院的科学家最近发起了互联网密码学安全研究并发表了研究报告,表明网站和网民应该使用12个密码防止黑客入侵。 目前,许多网站都要求用户登录时输入8位密码,但研究人员说,这些密码没用,因为他们使用了一组…

ASP经典包含VBscript文件ADO

ASP经典包含VBscript文件ADO

文件,经典,电脑软件,ASP,ADO,-------------------------------------------------------------------- 微软 ' 版权(c)1996-1998年微软公司。 ' ' ' 主要是一些常量的声明 ' ---------------------------------------------------------…

无论天气uff01the淘金路网上的访客

无论天气uff01the淘金路网上的访客

访客,天气,网上,淘金路,电脑软件,  现今的网络游戏已经不能用单纯的联机游戏来定义了,它实际上已经成为了一种现象,甚至成为了生活中的一部分。“偷菜种菜”就是这种现象的最好阐释。不仅是年轻人,连一些中年人和老年人都对网游乐此不疲,没事…

网上商店diy1

网上商店diy1

网上商店,电脑软件,一、概述: 最近是一个非常热门的话题。那么到底什么是“”?“电子商 务”离我们到底还有多远?据一些网站的问卷调查结果显示,真正成熟的离 我们还有一定的距离。而中国目前所谓的“”,也是有中国特色的,这首先 一点就体现…

WebEditor网页制作新的客人

WebEditor网页制作新的客人

网页制作,客人,电脑软件,WebEditor,  以前我们经常为大家介绍FrontPage编辑制作网页,今天在这里给大家介绍一个新伙伴WebEditor。说WebEditor是网页编辑新手实在有些委屈它了,其实它在国外早已相当出名,并屡获大奖,实在是网页爱好者不应错过…