Home >Backend Development >PHP Tutorial >Google chrome browser download PHP general paging class pagephp [imitation google paging]

Google chrome browser download PHP general paging class pagephp [imitation google paging]

WBOY
WBOYOriginal
2016-07-29 08:38:441287browse

page.php

Copy the code The code is as follows:


/**
** General PHP paging class. (Imitate Google style)
** Just provide two parameters: the total number of records and the number of displays per page. (Detailed instructions are attached.)
** There is no need to specify the URL, the link is generated by the program. Convenient for paging search results.
** The form is submitted using the GET method, which ensures that the URL parameters are not lost during operations such as query and deletion
**/
class Pager{
//IE address bar address
var $url;
//Total number of records
var $countall;
//Total number of pages
var $page;
//Page number link
var $thestr;
//Homepage, previous page link
var $backstr;
//Last page, next page link
var $nextstr;
//Current page number
var $pg;
//Display the number of records per page
var $countlist;
//Page turning style
var $style;
//Constructor, this function is automatically executed when instantiating this class
function Pager($countall ,$countlist,$style="page"){
//When the number of records and the number displayed on each page cannot be integrated, the remainder of the page number is added by 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"];
//Guarantee pg starts from page 1 if not specified
if (!ereg("^[1-9][0-9]*$ ",$this->pg) || empty($this->pg)){
$this->pg=1;
}
//The page number exceeds the maximum range, take the maximum value
if ($this ->pg>$this->page){
$this->pg=$this->page;
}
//Get the current URL. Please see the function entity at the bottom for the specific implementation
$this->url = Pager::getUrl();
//Replace the incorrectly formatted page number with the correct page number
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 );
}
//Generate pagination in the form of numbers such as 12345.
if ($this->page<=10){
for ($i=1;$i<$this->page+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->page+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."'>下一页 style."'>尾页";
}else{
return " style."'>下一页 尾页";
}
}
//处理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;
}
}
?>

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn