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> ’; continue; } $tmp.=’<ahref=’’.$this->getUrl(’Num’,$i).’’>’.$i.’</a> ’; } ($start>1)$tmp=’<ahref=’’.$this->getUrl(’Num’,$bec).’’>[前’.$max.’页] ’.$tmp; ($end<$this->total_page)$tmp.=’ <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>页 ’; $temp.=’第<fontcolor=red><b>’.$this->current_page.’</b></font>页 ’; $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
相关文章读者评论发表评论 |