简单好用的分页类 好用效率第一不是很完美代码
时间:2007-11-21
来源:互联网
复制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 编辑 ] 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
简洁强大~
作者: qingis 发布时间: 2008-05-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28