+ -
当前位置:首页 → 问答吧 → 简单好用的分页类 好用效率第一不是很完美代码

简单好用的分页类 好用效率第一不是很完美代码

时间:2007-11-21

来源:互联网

复制PHP内容到剪贴板
PHP代码:

<?php
/************************************************
Powered By Pc Rookie's All Right.
通用翻页类
$tp = new turnPage;
$tp -> cPage = empty($_REQUEST['p']) ? 1 : (int)$_REQUEST['p'];
$tp -> _pageNum = 25;
$tp -> _firstPage = '首页';
$tp -> _prevPages = '上页';
$tp -> _nextPage = '下页';
$tp -> _lastPage = '末页';

$tp -> print_content();
************************************************/
class turnPage
{
var $cPage = 1;
var $recordsTotal = 1000;
var $pageSize = 25;
var $pageVar = 'p';
var $_pageNum = 15;
var $_firstPage = '|<';
var $_prevPages = '<<';
var $_nextPage = '>>';
var $_lastPage = '>|';
//var $_styleNum = '';//翻页样式扩展
//var $_styleCur = '';//翻页样式扩展
function print_content()
{
  $totalPages = ceil($this -> recordsTotal/$this -> pageSize);
  if($this -> cPage>$totalPages||$this -> cPage<1)
  {
   $this -> cPage = $this ->cPage < 1 ? 1 : $totalPages;
  }
  $navPage="<ul><li><a href=\"?".$this -> pageVar."=1\">".$this ->_firstPage."</a></li>";
  $navPage .= $this -> cPage != 1 ? "<li><a href=\"?".$this -> pageVar."=".($this -> cPage-1)."\">".$this ->_prevPages."</a></li>" : "";
  if($this -> cPage<$this -> _pageNum)
  {
   $_sPage=1;
  }
  else
  {
   if($this -> cPage%$this -> _pageNum==1||$this -> cPage%$this -> _pageNum==0)
   {
    $_sPage = $this -> cPage%$this -> _pageNum == 1 ? (floor($this -> cPage/$this -> _pageNum)-1)*$this -> _pageNum+1 : floor($this -> cPage/$this -> _pageNum)*$this -> _pageNum+1;
   }
   else
   {
    $_sPage = floor($this -> cPage/$this -> _pageNum)*$this -> _pageNum+1;
   }
  }
  $_e = ($_sPage+$this -> _pageNum)>$totalPages ? $totalPages : ($_sPage+$this -> _pageNum);
  for($i=$_sPage;$i<$_e;$i++)
  {
   $navPage .= "<li><a href=\"?".$this -> pageVar."=$i\">$i</a></li>";
  }
  $navPage .= $this -> cPage < $totalPages-1 ? "<li><a href=\"?".$this -> pageVar."=".($this -> cPage+1)."\">".$this ->_nextPage."</a></li>" : "";
  echo $navPage .= "<li><a href=\"?".$this -> pageVar."=$totalPages\">".$this ->_lastPage."</a></li></ul>";
}
}
?>

[ 本帖最后由 crackfan 于 2007-11-21 12:31 编辑 ]

作者: crackfan   发布时间: 2007-11-21

简洁强大~

作者: qingis   发布时间: 2008-05-28