>  기사  >  백엔드 개발  >  Google 크롬 브라우저 다운로드 PHP 일반 페이징 클래스 pagephp [Google 페이징 모방]

Google 크롬 브라우저 다운로드 PHP 일반 페이징 클래스 pagephp [Google 페이징 모방]

WBOY
WBOY원래의
2016-07-29 08:38:441236검색

page.php

코드 복사 코드는 다음과 같습니다.


/**
** 일반 PHP 페이징 클래스. (Google 스타일 모방)
** 총 레코드 수와 페이지당 표시 수라는 두 가지 매개변수만 제공하면 됩니다. (자세한 설명은 첨부합니다..)
** URL은 따로 명시하지 않아도 프로그램에서 링크가 생성됩니다. 검색 결과를 페이징하는 데 편리합니다.
** 양식은 쿼리 및 삭제와 같은 작업 중에 URL 매개변수가 손실되지 않도록 보장하는 GET 메서드를 사용하여 제출됩니다.
**/
class Pager{
//IE 주소 표시줄 주소
var $url
//총 기록 항목 수
var $countall;//총 페이지 수
var $page
//페이지 번호 링크
var $thestr;//홈페이지, link
var $backstr;
//마지막 페이지, 다음 페이지 link
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)
}else{
$this->page=$this->countall /$this->countlist
}
$this->pg=$_GET["pg"]
//보증 pg 지정하지 않은 경우 1페이지부터 시작
if (!ereg("^[1-9][0-9]*$",$this->pg) || 비어 있음($this->pg)) {
$this-> ;pg=1;
}
//페이지 번호가 최대 범위를 초과합니다.
($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->page<=10){
for ($i=1;$i<$this->1페이지;$i ){
$this->thestr =$this->thestr.Pager::makepg($i,$this->pg);
}
}else{
if ($this->pg<=5){
for ($i=1;$i<10;$i ){
$this ->thestr=$this->thestr.Pager::makepg($i,$this->pg);
}
}else{
if (6 $this->pg<=$this->page){
for ($i=$this->pg-4;$ i<$this->pg 6;$i ){
$this->thestr=$this->thestr.Pager::makepg($i,$this->pg);
}
}else{
for ($i=$this->pg-4;$i<$this->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 " style."'>".$i.""
}else{
return " style."'>".$i."";
}
}
//生成上一页等信息적函数
function gotoback($pg){
if ($pg-1>0){
return $this ->gotoback=" style."'>首页 style."'>上一页";
}else{
return $this->gotoback="style."'>首页 上一页 ";
}
}
//生成下一页等信息적函数
function gotonext($pg,$page){
if ($pg < $page){
return " style."'>下一页 ;a href=".Pager::replacepg($this->url,4,0).".$this->style."'>尾页"
}else {
return " style."'>下一页 尾页";
}
}
//处理url中$pg적방법, 用于自动生成pg=x
function replacementpg($url,$flag,$i){
if ($ 플래그 == 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{
$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;
}
}
?>

以上就介绍了google chrome浏览器下载 PHPcommunication分页类pagephp[仿google分页],包括了google chrome浏览器下载方了内容,希望对PHP教程有兴趣的朋友有所帮助。

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