专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »PHP教程 » php5实例:PHP5的翻页对象类实例学习 »正文

php5实例:PHP5的翻页对象类实例学习

来源: 发布时间:星期四, 2009年2月12日 浏览:150次 评论:0


个PHP5翻页对象类例子学习适合新手学习研究

<?php
Page
{
/**
*currentpage
*/
public$current_page;

/**
*maxlinepage
*/
protected$maxline;

/**
*totalitemnum
*/
private$total_item;

/**
*totalpagenum
*/
private$total_page;

/**
*pagevariablename
*/
private$var_name;

/**
*pagevariables.gif' />
*/
private$vars=Array;

/**
*page.gif' />
*/
public$page_;

/**
*pageurl
*/
public$url;

/**
*debugmessage
*/
public$msg;

/**
*建立object句柄boolean
*/
protected$isCons=false;

/**
*构造
*
*@Package:page
*/
publicfunction__construct
{ [Page]
$this->msg=null;
$pageConf=UNION::getAppInf(’pageConfig’);
(falseis_.gif' />($pageConf)){
$this->msg=’翻页配置信息有误,请检查后使用’;
}
(0<($pageConf)){
foreach($pageConfas$key=>$value){
$this->{$key}=$value;
}
}
$this->isCons=true;
}

publicfunctionTotal($total)
{
(falseis_($total)or0val($total)){
$this->msg=’设置总记录数应该是个整数’;
false;
}
$this->total_item=val(trim($total));
$this->TotalPage;
}

publicfunctionTotalPage($total_page=null)
{
(falseis_null($total_page)){
(trueis_($total_page)and0<val($total_page)){


$this->total_page=val(trim($total_page));
true; [Page]
}{
$this->msg=’如果选择设置页数总数那么总数就必须是个大于0整数’;
false;
}
}
$this->total_page=ceil($this->total_item/$this->maxline);
true;
}

publicfunctionMax($maxline)
{
(falseis_($maxline)or0>=val($maxline)){
$this->msg=’设置每页记录数量必须是整数量’;
false;
}
$this->maxline=val(trim($maxline));
true;
}

/**
*设置传递变量名称
*
*@Author:小熊
*@Param:$var_name
*@Return:NULL
*/
publicfunctionVarName($var_name)
{
(falseis_($var_name)ortrueis_null($var_name)){
$this->msg=’设置传递翻页变量名称必须是非空串’;
false;
}
$this->var_name=strval(trim($var_name)); [Page]
true;
}

publicfunctionVars($vars=.gif' />,$isOri=false)
{
(falseis_.gif' />($vars)){
$this->msg=’设置传递参数必须是个’;
false;
}
(true$isOri){
$this->vars=Array;
}
(0<($vars)){
foreach($varsas$key=>$value){
$this->vars[$key]=$value;
}
}
true;
}

/**
*获取带变量url
*
*/
publicfunctionUrl($url)
{
(falseis_($url)ortrueis_null($url)){
$this->msg=’设置url必须是非空串’;


false;
}
$this->url=$url;
true;
}

/**
*设置翻页串*/ [Page]
publicfunctionPageString($page_)
{
(falseis_.gif' />($page_)or4<>($page_)){
$this->msg=’设置翻页串必须是4个元素’;
false;
}
$this->page_=.gif' />;
foreach($page_as$key=>$value){
$this->page_[$key]=$value;
}
true;
}

/**
*化翻页
*
*/
publicfunctioninit($current_page,$total_item,$url,$vars=.gif' />,
$maxline=null,$var_name=null,$page_=.gif' />)
{
(false$this->check($current_page)){false;}

$this->current_page=$current_page;

(0<($vars)andfalse$this->Vars($vars)){false;}

(falseis_null($var_name)andfalse$this->VarName($var_name)){false;}

(false$this->Url($url)){false;} [Page]

(falseis_null($maxline)andfalse$this->Max($maxline)){false;}

(false$this->Total($total_item)){false;}

(0<($page_)andfalse$this->PageString($page_)){false;}

($current_page>$this->total_page){
$this->msg=’当前页不能大于全部页[参数不正确]’;
false;
}

true;
}

/**
*统检查传递过来变量是否正确
*
*/
privatefunctioncheck($current_page)
{
(false$this->isCons){
$this->msg.=’请先构造翻页实体对象在进行化’;
false;
}(falseis_($current_page)){


$this->msg=’当前页变量格式不正确应该是整数’;
false;
}
true;
}

/**
*获取动态翻页url
*
*/
publicfunctiongetUrl($type,$num=null) [Page]
{
$pagenum=null;
$url=null;
switch($type)
{
’Fir’:
$pagenum=1;
;

’Pre’:
($this->current_page<=1){
$pagenum=1;
}{
$pagenum=val($this->current_page)-1;
}
;

’Nex’:
$next=val($this->current_page)+1;
$pagenum=($next>=$this->total_page)?
$this->total_page:$next;
;

’End’:
$pagenum=$this->total_page; [Page]
;

’Num’:
(0$numorfalseis_($num)){
$this->msg=’翻页数字链格式不对’;
false;
}
$pagenum=val($num);
;
}
(trueis_null($pagenum))$pagenum=1;
$url=strval(trim($url)).’?’.$this->var_name.’=’.$pagenum.$this->getParam;
$url;
}

publicfunctiongetParam
{
$param=null;


(0<($this->vars)){
foreach($this->varsas$key=>$value){
$param.=’&’.$key.’=’.$value;
}
}
$param;
}

/**
*获取翻页条
*/
protectedfunctiongetLine($isNumLine,$maxNumLine) [Page]
{
$temp=null;
foreach($this->page_as$key=>$value){
$temp.=’<ahref=’{link’.$key.’}’>’.$value.’</a>’;
(1$keyandtrue$isNumLine){
$temp.=$this->getNumLine($maxNumLine);
}
}
$Lfirst=$this->getUrl(’Fri’);
$Lpreve=$this->getUrl(’Pre’);
$Lnext=$this->getUrl(’Nex’);
$Lend=$this->getUrl(’End’);
$temp=str_replace(’{link0}’,$Lfirst,$temp);
$temp=str_replace(’{link1}’,$Lpreve,$temp);
$temp=str_replace(’{link2}’,$Lnext,$temp);
$temp=str_replace(’{link3}’,$Lend,$temp);
$temp;
}

/**
*获得翻页功能条
*
*@Author:小熊
*@Param:$max
*@Return:
*/
protectedfunctiongetNumLine($max)
{
$tmp=null;
$bec=null;
($this->total_page<=$max){ [Page]
$start=1;
$end=$this->total_page;
}{
(($this->current_page-1)%$max0){
$start=$this->current_page;
$end=$this->current_page-1+$max;
$end=$end>$this->total_page?$this->total_page:$end;
}{
$bec=floor($this->current_page/$max);
(0$bec){
$start=1;


$end=$max;
}{
$start=$bec+$max;
$aec=$max*($bec+1);
$end=$aec>$this->total_page?$this->total_page:$aec;
}
} [Page]
}
for($i=$start;$i<=$end;$i){
($i$this->current_page){
$tmp.=’<b><ahref=’’.$this->getUrl(’Num’,$i).’’>’.$i.’</a></b>&nbsp;’;
continue;
}
$tmp.=’<ahref=’’.$this->getUrl(’Num’,$i).’’>’.$i.’</a>&nbsp;’;
}
($start>1)$tmp=’<ahref=’’.$this->getUrl(’Num’,$bec).’’>[前’.$max.’页]&nbsp;’.$tmp;
($end<$this->total_page)$tmp.=’&nbsp;<ahref=’’.$this->getUrl(’Num’,($end+1)).’’>[后’.$max.’页]’;
$tmp;
}

/**
*获取翻页代码
*
*@Author:小熊
*@Param:boolean$isNumLine
*@Param:boolean$isInfo
*@Param:boolean$isJump
*@Param:$maxNumLine
*@Return:orfalse
*/
publicfunctiongetPage($isNumLine=false,$isInfo=false,$isJump=false,$maxNumLine=10)
{
(falseis_bool($isNumLine)andfalseis_bool($isInfo)andfalseis_bool($isJump)){ [Page]
$this->msg=’翻页对象思路方法[getPage]参数格式不正确’;
false;
}
(true$isNumLine){
(falseis_($maxNumLine)and0>=$maxNumLine){
$this->msg=’既然选择了输出数字翻页条,那么最大数量就该有值而且是个整数’;
false;
}
}
$this->getLine($isNumLine,$maxNumLine).
(true$isInfo?$this->getInfo:’’).
(true$isJump?$this->getJump:’’);


}

/**
*获得翻页信息
*
*@Author:小熊
*@Return:
*/
protectedfunctiongetInfo
{
$temp=null;
$temp.=’总共<b>’.$this->total_page.’</b>页&nbsp;’;
$temp.=’第<fontcolor=red><b>’.$this->current_page.’</b></font>页&nbsp;’;
$temp;
}

/**
*获取javascrtipt翻页option [Page]
*
*@Author:小熊
*@Return:
*/
protectedfunctiongetJump
{
$temp=null;
$temp.=’<script>functiongos(tid){(’ns’tid){alert(’请选择页号’);false;}location.href=’’.$_SERVER[’PHP_SELF’].’?page=’+tid;}</script>’;
$temp.=’<selectonchange=’gos(this.options[this.options.selectedIndex].value)’>’;
$temp.=’<optionvalue=’ns’>-选择-</option>’;
for($i=1;$i<=$this->total_page;$i){
$sel=’’;
($this->current_page$i)$sel=’selected’;
$temp.=’<optionvalue=’’.$i.’’’.$sel.’>第’.$i.’页</option>’;
}
$temp.=’</select>’;
$temp;
}


}
?>

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: