好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

简单的php分页类 - php类库

简单的php分页类

<?php     //-------------------------------------------------------------------------   //使用方法      //测试时还需要一张表  至少出现字段 announceID,announceContent      //include db.php     $db_host = 'localhost' ;     $db_user = 'username' ;     $db_password = 'password' ;     $db_name = 'konwu' ;     $db_prefix  =  'konwu_' ;     Global  $db_prefix ;      $conn =@mysql_connect( $db_host , $db_user , $db_password );      // utf-8 是默认设置 即使没有下面的一行也会默认 UTF-8      // 但是MYSQL数据库的默认是LATIN 拉丁字符      // 最好设置成 GBK UTF-8包含GBK 包含 LATIN      //网页用UTF-8 显示 GBK 没关系 但如果 MYSQL写入时用UTF8有乱码风险,因为MYSQL安装时默认LATIN ,最好 SET GBK     mysql_query( "SET NAMES 'UTF8'" );     mysql_select_db( $db_name , $conn )  or   die  ( 'none DB' );      //set page          //@param set       $errorURL  =  'http://localhost:8080/htmls/error/index.html' ;       $result    = mysql_query( "SELECT * FROM konwu_messageannounce" );       $touNUM    = mysql_num_rows( $result );       $config    =  array ( 'DB_PREFIX' => 'konwu_' , 'DB' => 'messageannounce' , 'PER_NUM' =>10, 'TOU_NUM' => $touNUM , 'ERROR_URL' => $errorURL , 'NUM_PAGE' => 'p' );       // use class       $pages     =  new  Pages;       $getPage   =  $pages ->resultNUM( $config ); //   //------------------------------------           class  Pages{        public   static   $perNUM ; //每一页多少条        public   static   $touNUM ; //总共多少条        public   static   $pageNUM ; //总页数        public   static   $tables ; //表名        public   static   $errorURL ; // index URL        public   static   $numPage ; //页面参数的标识 ,         function  getInt( $config = array ()){             $this ->tables    =  $config [ 'DB_PREFIX' ]. $config [ 'DB' ] ?  $config [ 'DB_PREFIX' ]. $config [ 'DB' ] :  'konwu_messageannounce' ;          $this ->perNUM    =  $config [ 'PER_NUM' ] ?  $config [ 'PER_NUM' ] : 10;          $this ->touNUM    =  $config [ 'TOU_NUM' ] ?  $config [ 'TOU_NUM' ] : 50;          $this ->pageNUM   =  ceil ( $this ->touNUM/ $this ->perNUM);          $this ->errorURL  =  $config [ 'ERROR_URL' ] ?  $config [ 'ERROR_URL' ] :  'http://HdhCmsTestkonwu测试数据' ;          $this ->numPage   =  $config [ 'NUM_PAGE' ] ?  $config [ 'NUM_PAGE' ] :  'page' ;       }              function  getNUM(){ //get num 得到当前页面的值            if (isset( $_GET [ $this ->numPage]) && ! empty empty ( $_GET [ $this ->numPage])){            $str  =  $_GET [ $this ->numPage];         } else {            $str  =  'wrong' ;         }          return   $str ;       }              function  getError(){          //return $str;            header( 'location: ' . $this ->errorURL);       }              //$_GET['pageNUM'] 第几页,必须要是数字整数,必须要 >0 ,必须 <=$pageNUM        function  isNUM(){ //check num          $str  = self::getNUM();             if ( $str  !=  'wrong' ){           if (ctype_digit( $str )){             $numPage  =  $str ;          } else {            self::getError();          }        } else {          self::getError();        }         return   $numPage ;       }          function  getSelect(){            $sql  =  'SELECT * FROM ' . $this ->tables. ' ORDER BY announceID DESC' ;          return   $sql ;       }              function  getSelectResult(){           $sql  = self::getSelect();         $result  = mysql_query( $sql );         return   $result ;       }              function  getStartNUM(){           $nowPage  = self::isNUM();          $perNUM  =  $this ->perNUM;          $startNUM  =  $nowPage -1;          $startNUM  =  $startNUM * $perNUM ;          $startNUM  =  $startNUM +1;          return   $startNUM ;       }              function  getLastNUM(){           $nowPage  = self::isNUM();          $perNUM  =  $this ->perNUM;          $lastNUM  =  $nowPage * $perNUM ;          return   $lastNUM ;       }              function  resultNUM( $config ){            self::getInt( $config );          $result  = self::getSelectResult();               $startNUM  = self::getStartNUM();          $lastNUM  = self::getLastNUM();          $mynum  = 1;          $allResult  =  '' ;          while ( $re =mysql_fetch_array( $result )){              if ( $mynum >= $startNUM  &&  $mynum <= $lastNUM ){              $announceID    =  $re [ 'announceID' ];              $singleResult  =  $re [ 'announceContent' ];              $singleResult  = mb_substr( $singleResult ,0,50, 'utf-8' );              $lastPage      = self::lastPage();              $nextPage      = self::nextPage();              $beginPage     = self::beginPage();              $endPage       = self::endPage();              $getFivePage   = self::getFivePage();              $singleResult  = '                               <p> '.$singleResult.' &hellip;&nbsp;&nbsp;<a href= "moreInfoCon'.$announceID.'.html" >详细</a></p>                             ';              $allResult  =  $allResult . $singleResult ;                                    }       //--------------------------------------------------------------                $mynum ++;            //----------------------------            if ( $mynum > $lastNUM ){              $resultPage  = '<div  class = "pagination" >          '.$beginPage.'          '.$lastPage.'          '.$getFivePage.'          '.$nextPage.'          '.$endPage.'         </div>';              $allResult  =  $allResult . $resultPage ;              return   $allResult ;         }          //-----------------------------          }          $resultPage  = '<div  class = "pagination" >          '.$beginPage.'          '.$lastPage.'          '.$getFivePage.'          '.$nextPage.'          '.$endPage.'         </div>';          $allResult   =  $allResult . '<br><br>' . $resultPage ;          return   $allResult ;       }              //next page下一页        function  nextPage(){         $nowPage  = self::isNUM();         $pageNUM  =  $this ->pageNUM;          if ( $nowPage >= $pageNUM ){           $nextPage  =  '' ;        } else {           $nextPage  =  $nowPage +1;           $nextPage  =  '<a href="moreInfo.html?' . $this ->numPage. '=' . $nextPage . '" title="Next Page">下一页 &raquo;</a>' ;        }            return   $nextPage ; //得到参数值       }              //lastPage 上一页        function  lastPage(){          $nowPage  = self::isNUM();          if ( $nowPage >=2){            $lastPage  =  $nowPage -1;            $lastPage  =  '<a href="moreInfo.html?' . $this ->numPage. '=' . $lastPage . '" title="Previous Page">&laquo; 上一页</a>' ;         } else {            $lastPage  =  '' ;         }              return   $lastPage ;       }              //第一页,最后一页,当前页左右各两页共五页        function  endPage(){          $pageNUM  =  $this ->pageNUM;          $endPage  =  '<a href="moreInfo.html?' . $this ->numPage. '=' . $pageNUM . '" title="Last Page">最后一页 &raquo;</a>' ;          return   $endPage ;       }              function  beginPage(){          $beginPage  =  '<a href="moreInfo.html?' . $this ->numPage. '=1" title="First Page">&laquo; 第一页</a>' ;          return   $beginPage ;       }              function  getFivePage(){          $nowPage  = self::isNUM(); //当前页面          $pageNUM  =  $this ->pageNUM; //总页数          if ( $pageNUM <=5){            $NUM  = 1;            $getNUM  =  '' ;            while ( $pageNUM >= $NUM ){              $nums  =  '<a href="moreInfo.html?' . $this ->numPage. '=' . $NUM . '" class="number" title="' . $NUM . '">' . $NUM . '</a>' ;              $getNUM  =  $getNUM . $nums ;              $NUM ++;           }            $getFivePage  =  $getNUM ;            return   $getFivePage ;                  } else { //>5            if ( $nowPage  == 1){              $getNUM  = '                        <a href= "moreInfo.html?'.$this->numPage.'=1"   class = "number current"  title= "1" >1</a>                        <a href= "moreInfo.html?'.$this->numPage.'=2"   class = "number"  title= "2" >2</a>                        <a href= "moreInfo.html?'.$this->numPage.'=3"   class = "number"  title= "3" >3</a>                        <a href= "moreInfo.html?'.$this->numPage.'=4"   class = "number"  title= "4" >4</a>                        <a href= "moreInfo.html?'.$this->numPage.'=5"   class = "number"  title= "5" >5</a>                       ';           } elseif ( $nowPage  == 2){              $getNUM  = '                        <a href= "moreInfo.html?'.$this->numPage.'=1"   class = "number"  title= "1" >1</a>                        <a href= "moreInfo.html?'.$this->numPage.'=2"   class = "number current"  title= "2" >2</a>                        <a href= "moreInfo.html?'.$this->numPage.'=3"   class = "number"  title= "3" >3</a>                        <a href= "moreInfo.html?'.$this->numPage.'=4"   class = "number"  title= "4" >4</a>                        <a href= "moreInfo.html?'.$this->numPage.'=5"   class = "number"  title= "5" >5</a>                       ';           } elseif ( $nowPage  == ( $pageNUM -1)){ //-2位置              $getNUM  = '                        <a href= "moreInfo.html?'.$this->numPage.'='.($pageNUM-4).'"   class = "number"  title= "'.($pageNUM-4).'" > '.($pageNUM-4).' </a>                        <a href= "moreInfo.html?'.$this->numPage.'='.($pageNUM-3).'"   class = "number"  title= "'.($pageNUM-3).'" > '.($pageNUM-3).' </a>                        <a href= "moreInfo.html?'.$this->numPage.'='.($pageNUM-2).'"   class = "number"  title= "'.($pageNUM-2).'" > '.($pageNUM-2).' </a>                        <a href= "moreInfo.html?'.$this->numPage.'='.($pageNUM-1).'"   class = "number current"  title= "'.($pageNUM-1).'" > '.($pageNUM-1).' </a>                        <a href= "moreInfo.html?'.$this->numPage.'='.$pageNUM.'"   class = "number"  title= "'.$pageNUM.'" > '.$pageNUM.' </a>                       ';           } elseif ( $nowPage  ==  $pageNUM ){ //-1位置              $getNUM  = '                        <a href= "moreInfo.html?'.$this->numPage.'='.($nowPage-4).'"   class = "number"  title= "'.($nowPage-4).'" > '.($nowPage-4).' </a>                        <a href= "moreInfo.html?'.$this->numPage.'='.($nowPage-3).'"   class = "number"  title= "'.($nowPage-3).'" > '.($nowPage-3).' </a>                        <a href= "moreInfo.html?'.$this->numPage.'='.($nowPage-2).'"   class = "number"  title= "'.($nowPage-2).'" > '.($nowPage-2).' </a>                        <a href= "moreInfo.html?'.$this->numPage.'='.($nowPage-1).'"   class = "number"  title= "'.($nowPage-1).'" > '.($nowPage-1).' </a>                        <a href= "moreInfo.html?'.$this->numPage.'='.$nowPage.'"   class = "number current"  title= "'.$nowPage.'" > '.$nowPage.' </a>                       ';           } elseif (2< $nowPage  &&  $nowPage <( $pageNUM -1)){ //2位置和-2位置之间              $getNUM  = '                        <a href= "moreInfo.html?'.$this->numPage.'='.($nowPage-2).'"   class = "number"  title= "'.($nowPage-2).'" > '.($nowPage-2).' </a>                        <a href= "moreInfo.html?'.$this->numPage.'='.($nowPage-1).'"   class = "number"  title= "'.($nowPage-1).'" > '.($nowPage-1).' </a>                        <a href= "moreInfo.html?'.$this->numPage.'='.$nowPage.'"   class = "number current"  title= "'.$nowPage.'" > '.$nowPage.' </a>                        <a href= "moreInfo.html?'.$this->numPage.'='.($nowPage+1).'"   class = "number"  title= "'.($nowPage+1).'" > '.($nowPage+1).' </a>                        <a href= "moreInfo.html?'.$this->numPage.'='.($nowPage+2).'"   class = "number"  title= "'.($nowPage+2).'" > '.($nowPage+2).' </a>                       ';           } else {             self::getError();           }                   }          $getFivePage  =  $getNUM ;          return   $getFivePage ;       }         //----------------------------------        }   ?> 

 

查看更多关于简单的php分页类 - php类库的详细内容...

  阅读:34次