简洁实用的分页类【支持跳转*页】

时间:2022-11-09 17:43:59

分页显示效果为:
简洁实用的分页类【支持跳转*页】

class pager
{

/**
* 不需要传条件分页
* 后添加前台翻页函数
* @param int $pagecount 多少页
* @param int $page 当前第几页
* @param string $table_style
* @param string $font_style
* @param int $result_num 总条数
* @param int $page_size 该页显示的数量
*/

function output($pagecount, $page, $table_style, $font_style, $result_num, $page_size){
@$action = $_SERVER['REDIRECT_URL'];
$pagetable = "";
$pagecountlist = "";
$temp = "";
if(isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])){
$query = explode("&",$_SERVER['QUERY_STRING']);
while(list($index, $value) = each($query)){
$a = explode("=",$value);
if(strcmp(strtolower($a[0]),"page")!=0){
$temp .= $a[0]."=".$a[1]."&";
}
}
}else{
$temp = "";
}
$pagetable .= "<div class=\"page\" align=\"center\">\n";
if($pagecount > 1)
{
$pagetable .="共有: " . $result_num . " 条记录 ";
if($page<=1){
$pagetable .="<a class=\"fy\" href=" . $action . "?" . $temp . "page=1>首页</a>&nbsp;";
$pagetable .= "&nbsp;<a href='javascript:;' onclick=alert('已经是第一页') class=\"fy\">上一页</a>&nbsp;";
}
else{
$pagetable .= "<a class=\"fy\" href=" . $action . "?" . $temp . "page=1>首页</a>&nbsp;";
$pagetable .= "&nbsp;<a class=\"fy\" href=" . $action . "?" . $temp . "page=" . ($page-1) . ">上一页</a>&nbsp;";
}
$start = (ceil($page/10)-1)*10+1;
$end = ceil($page/10)*10;
if($start <= 0) $start = 1;
if($end >= $pagecount) $end = $pagecount;
for($i=$start;$i<=$end;$i++)
{
if($page == $i)
$pagecountlist .= "&nbsp;<span class='dy'>".$i."</span>&nbsp;";
else
$pagecountlist .= "&nbsp;<a class=\"fy\" href=" . $action . "?" . $temp . "page=" . $i . ">".$i."</a>&nbsp;";
}
}
$pagetable .= $pagecountlist."";
if($pagecount > 1)
{
if($page >= $pagecount){
$pagetable .= "&nbsp;<a href='javascript:;' onclick=alert('已经是最后一页') class=\"fy\">下一页</a>&nbsp;";
$pagetable .= "&nbsp;<a class=\"fy\" href=" . $action . "?" . $temp . "page=" . $pagecount . ">尾页</a>&nbsp;";
$pagetable .="<input type='text' style='width:30px' /> 页 &nbsp;<input type='button' class=\"get_pagenum\" value='跳转'/>&nbsp;";
$pagetable .="<script>
$('.get_pagenum').click(function(){
var page_val=$(this).prev('input').val();
if(Number(page_val==0)){
page_val=1;
}
if(!isNaN(page_val)){
if(page_val>= "
.$pagecount."){
var url_get=window.location.href;
if(url_get.indexOf('page') > 0){
window.location.href=url_get.replace(/page=\d{1,}/, 'page='+"
.$pagecount.");
}else{
if(url_get.indexOf('?') < 0){
window.location.href=url_get+'?page='+"
.$pagecount.";
}else{
window.location.href=url_get+'&page='+"
.$pagecount.";
}
}
}else{
var url_get=window.location.href;
if(url_get.indexOf('page') > 0){
window.location.href=url_get.replace(/page=\d{1,}/, 'page='+page_val);
}else{
if(url_get.indexOf('?') < 0){
window.location.href=url_get+'?page='+page_val;
}else{
window.location.href=url_get+'&page='+page_val;
}
}
}
}else{
alert('请输入正确数值');
}
}
)
</script>"
;
}else{
$pagetable .= "&nbsp;<a class=\"fy\" href=" . $action . "?" . $temp . "page=" . ($page+1) . ">下一页</a>&nbsp;";
$pagetable .= "&nbsp;<a class=\"fy\" href=" . $action . "?" . $temp . "page=" . $pagecount . ">尾页</a>&nbsp;";
$pagetable .="<input type='text' style='width:30px' /> 页 &nbsp;<input type='button' class=\"get_pagenum\" value='跳转'/>&nbsp;";
$pagetable .="<script>
$('.get_pagenum').click(function(){
var page_val=$(this).prev('input').val();
if(Number(page_val==0)){
page_val=1;
}
if(!isNaN(page_val)){
if(page_val>= "
.$pagecount."){
var url_get=window.location.href;
if(url_get.indexOf('page') > 0){
window.location.href=url_get.replace(/page=\d{1,}/, 'page='+"
.$pagecount.");
}else{
if(url_get.indexOf('?') < 0){
window.location.href=url_get+'?page='+"
.$pagecount.";
}else{
window.location.href=url_get+'&page='+"
.$pagecount.";
}
}
}else{
var url_get=window.location.href;
if(url_get.indexOf('page') > 0){
window.location.href=url_get.replace(/page=\d{1,}/, 'page='+page_val);
}else{
if(url_get.indexOf('?') < 0){
window.location.href=url_get+'?page='+page_val;
}else{
window.location.href=url_get+'&page='+page_val;
}
}
}
}else{
alert('请输入正确数值');
}

}
)
</script>"
;
}
}
$pagetable .= "</div>";
return $pagetable;
}
}