Home >Backend Development >PHP Tutorial >Google chrome browser download PHP general paging class pagephp [imitation google paging]
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 "
}else{
return " style."'>".$i."";
}
}
//生成上一页等信息的函数
function gotoback($pg){
if ($pg-1>0){
return $this->gotoback=" style."'>首页 style."'>上一页";
}else{
return $this->gotoback="
}
}
//生成下一页等信息的函数
function gotonext($pg,$page){
if ($pg < $page){
return " style."'>下一页 style."'>尾页";
}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;
}
}
?>
以上就介绍了google chrome浏览器下载 PHP通用分页类pagephp[仿google分页],包括了google chrome浏览器下载方面的内容,希望对PHP教程有兴趣的朋友有所帮助。