吴伟贤のBlog

Feed Rss

php分页类

09.16.2008, php, by .

<?php
//————————-些为PHP网页程序序分页类————————–/
//说明部分:外部可访问函数:
//                     【GetPerPage】                            整型                     返回当前页
//                     【GetTotalPage】                            整型                     返回总页数
//                     【GetStartEndInfo】                     数组                     返回首尾号
//                     【GetStart】                                   整型                     返回查询语句开始取数
//                     【GetPerNextInfo】                     数组                     返回上下页数字
//                     【GetPerNextMoreInfo】              数组                     返回上几页下几页数字
//                     【GetPerNext】                            数组                     返回封装的上下页
//                     【GetPerNextMore】                     数组                     返回封装的上几页下几页
//                     【GetPageHeader】                     字符串              返回封装分页头信息
//                     【GetPageBody】                            字符串              返回封装的分页主体信息
//                     【GetPageEnd】                            字符串              返回封装的分页尾部信息
//                     【DisplayPageInfo】                     字符串              返回封装的完整分页信息
//使用说明:
//       在所使用的文件中Include()本文件,使用New操作符新创建一个本对象。新创建对象时需设置构造函数所需参数
//  参数说明如下构造函数说明处!
      
class PageList
{
       //————————-定义类中用到的全局变量———————-/
       var $PerPage;                            //当前页数
       var $PerLimit;                            //当前每页显示条数
       var $PerPageLimit;                     //当前每页显示页数
       var $TotalNums;                            //当前分页中的总条数
       var $TotalPage;                            //当前分页中总页数
       var $PageUrl;                            //定义当前网页路径
       var $PageStart;                            // 定义当前开始末ID
       var $PageEnd;                            //定义当前结束ID
       var $PageStyle;                            //定主当前分页显示样式
       var $PageHeader;                     //定义显示头部分
       var $PageBody;&nbsp
;                           //定义显示主体部分
       var $PageBottom;                     //定义显示尾部分

//———————————–初始化所有固定变量——————————-/
              //入口参数:$pageParameter[0]:信息总条数
                     //$pageParameter[1]:每页显示条数
                     //$pageParameter[2]:每页显示页数
                     //$styleParameter[0];动静态风格,true为动态 false为静态 no为不显示
                     //$styleParameter[1];前几页后几页,上一页下一页风格.true为前几页 false为上一页 no为不显示
                     //$styleParameter[2];设置跳转函数true为下拉 false为submit加input no为不显示
                     //$styleParameter[3];设置是否显示主体部分

       //在此说明:如果设置为动态的、上一页下一页风格则为中部动态。如果设置为静态则只能为上几页和下几页
       //           如果设置为动态的、上几页下几页风格则为步进动态

       function  SetVar($pageParameter=array(1,1,1),$styleParameter=array("false","true","true","true")){
              $this->TotalNums=$pageParameter[0];
              $this->PerLimit=$pageParameter[1];
              $this->PerPageLimit=$pageParameter[2];
              $this->PageStyle=$styleParameter;
              $this->PerPage=$_GET[page];
              $this->SetDefaultStyle();
              $this->SetPageUrl();
              $this->SetToTalPage();
              $this->SetPerPage();
              $this->SetStaticDynamic();
              $this->SetDisplayPageInfo();
       }

       //————定义设置强制风格函数—————————————-/
       function SetDefaultStyle()
       {
              if($this->PageStyle[0]=="false")
                     if($this->PageStyle[1]<>"no")
                            $this->PageStyle[1]="true";
              if($this->PageStyle[3]=="no")
                     $this->PageStyle[1]="false";
       }
      
       //————-定认取得当前网页路径函数———————————-/
       function SetPageUrl()
       {
              $queryString=$_SERVER["QUERY_STRING"];
              parse_str($queryString,$array);
              foreach($array as $key=>$value)
              {
                     if($key=="page")
                            continue;
                     else
                     $tmp_arr[$key].=$array[$key];
              }
             if(!is_array($tmp_arr))
              $tmp_arr=array();
              $tmp_str=http_build_query($tmp_arr);
              $this->PageUrl="http://".$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"]."?".$tmp_str;
       }
       //————-定义设置当前分页类中总页数函数——————————/
       function SetTotalPage(){
              $this->TotalPage=ceil($this->TotalNums/$this->PerLimit);
       }
       //————–定义设置当前分页类中当前页数——————————/
       function SetPerPage()
       {
              if($this->PerPage<=0)
                     $this->PerPage=1;
              elseif($this->PerPage>$this->TotalPage)
                     $this->PerPage=$this->TotalPage;
       }
       //————-定

评论已关闭。