찾다
php教程php手册PHP通用分页类page.php[仿google分页]

PHP通用分页类page.php[仿google分页]

Jun 13, 2016 pm 12:26 PM
googlephp암호쪽수 매기기복사친절한만능인

page.php

复制代码 代码如下:



/**
** 通用php分页类。(仿Google样式)
** 只需提供记录总数与每页显示数两个参数。(已附详细使用说明..)
** 无需指定URL,链接由程序生成。方便用于检索结果分页。
** 表单采用GET方法提交,可保证在诸如查询之,删除之类的操作时,不丢失URL参数
**/

class Pager{
//IE地址栏地址
var $url;
//记录总条数
var $countall;
//总页数
var $page;
//分页数字链接
var $thestr;
//首页、上一页链接
var $backstr;
//尾页、下一页链接
var $nextstr;
//当前页码
var $pg;
//每页显示记录数量
var $countlist;
//翻页样式
var $style;
//构造函数,实例化该类的时候自动执行该函数
function Pager($countall,$countlist,$style="page"){
//记录数与每页显示数不能整队时,页数取余后加1
$this->countall = $countall;
$this->countlist = $countlist;
$this->style=$style;
if ($this->countall%$this->countlist!=0){
$this->page=sprintf("%d",$this->countall/$this->countlist)+1;
}else{
$this->page=$this->countall/$this->countlist;
}

$this->pg=$_GET["pg"];
//保证pg在未指定的情况下为从第1页开始
if (!ereg("^[1-9][0-9]*$",$this->pg) || empty($this->pg)){
$this->pg=1;
}
//页码超出最大范围,取最大值
if ($this->pg>$this->page){
$this->pg=$this->page;
}
//得到当前的URL。具体实现请看最底部的函数实体
$this->url = Pager::getUrl();
//替换错误格式的页码为正确页码
if(isset($_GET["pg"]) && $_GET["pg"]!=$this->pg){
$this->url=str_replace("?pg=".$_GET["pg"],"?pg=$this->pg",$this->url);
$this->url=str_replace("&pg=".$_GET["pg"],"&pg=$this->pg",$this->url);
}
//生成12345等数字形式的分页。
if ($this->pagefor ($i=1;$ipage+1;$i++){
$this->thestr=$this->thestr.Pager::makepg($i,$this->pg);
}
}else{
if ($this->pgfor ($i=1;$i$this->thestr=$this->thestr.Pager::makepg($i,$this->pg);
}
}else{
if (6+$this->pgpage){
for ($i=$this->pg-4;$ipg+6;$i++){
$this->thestr=$this->thestr.Pager::makepg($i,$this->pg);
}
}else{
for ($i=$this->pg-4;$ipage+1;$i++){
$this->thestr=$this->thestr.Pager::makepg($i,$this->pg);
}

}
}
}
//生成上页下页等文字链接
$this->backstr = Pager::gotoback($this->pg);
$this->nextstr = Pager::gotonext($this->pg,$this->page);
//echo (" 共".$this->countall." 条,每页".$this->countlist."条,共".$this->page."页".$this->backstr.$this->thestr.$this->nextstr);
}
//生成数字分页的辅助函数
function makepg($i,$pg){
if ($i==$pg){
return " ".$i."";
}else{
return " ".$i."";
}
}
//生成上一页等信息的函数
function gotoback($pg){
if ($pg-1>0){
return $this->gotoback=" 首页 上一页";
}else{
return $this->gotoback="首页 上一页 ";
}
}
//生成下一页等信息的函数
function gotonext($pg,$page){
if ($pg return " 下一页 尾页";
}else{
return " 下一页 尾页";
}
}
//处理url中$pg的方法,用于自动生成pg=x
function replacepg($url,$flag,$i){
if ($flag == 1){
$temp_pg = $this->pg;
return str_replace("pg=".$temp_pg,"pg=".($this->pg+1),$url);
}else if($flag == 2) {
$temp_pg = $this->pg;
return str_replace("pg=".$temp_pg,"pg=".($this->pg-1),$url);
}else if($flag == 3) {
$temp_pg = $this->pg;
return str_replace("pg=".$temp_pg,"pg=1",$url);
}else if($flag == 4){
$temp_pg = $this->pg;
return str_replace("pg=".$temp_pg,"pg=".$this->page,$url);
}else if($flag == 5){
$temp_pg = $this->pg;
return str_replace("pg=".$temp_pg,"pg=".$i,$url);
}else{
return $url;
}
}
//获得当前URL的方法
function getUrl(){
$url="http://".$_SERVER["HTTP_HOST"];
if(isset($_SERVER["REQUEST_URI"])){
$url.=$_SERVER["REQUEST_URI"];
}else{
$url.=$_SERVER["PHP_SELF"];
if(!empty($_SERVER["QUERY_STRING"])){
$url.="?".$_SERVER["QUERY_STRING"];
}
}
//在当前的URL里加入pg=x字样
if (!ereg("(pg=|PG=|pG=|Pg=)", $url)){
if (!strpos($url,"?")){
$url = $url."?pg=1";
}else{
$url = $url."&pg=1";
}
}
return $url;
}
}
?>

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구