php分页类示例下载,PHP 通用分页类的简单示例

这篇文章主要为大家详细介绍了PHP 通用分页类的简单示例,具有一定的参考价值,可以用来参考一下。对PHP通用分页类感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!

写了个php的通用分页类

使用方法很简单

在实例化对象时只需要给他传个"每页显示记录数"和"总记录数"就可以了

include_once("pages_class.php"); 连接db省略.....

得到总记录数在此省略........$page = new pages("每页显示数","总记录数");

$limit = $page->offset

$page_html = $page->page_html;

$sql ="select * from table where 1 ".$limit;

$result = mysql_query($sql,$db);

while($rs= mysql_fetch_array($result)){

print_r($rs);

}

echo $page_html;

如果你想看看这个万能分页类实现的思路,请继续往下看

如果你想发扬拿来主义精神,请点击下载PHP通用分页类

php通用分页类

/**

* PHP通用分页类

* author phperz.com * $page_size:每页显示记录数

* $rs_total :总记录数

* 语法:

* new pages($page_size,$rs_total)

* 可用返回值:

* $offset (limit便移量: linit 0,20)

* $page_html (分页连接: 首页 上一页 下一页 末页)

*/

class pages{

var $page_size;

var $rs_total;

var $page_total;

var $page;

var $offset;

var $url;

var $pre_page = "page";

var $page_info;

var $page_html;

function __construct($page_size = 20,$rs_total){

$this->page_size = $page_size;

$this->rs_total = $rs_total;

$this->page_total = ceil($rs_total/$page_size);

$this->page = $this->get_page();

$this->offset = $this->get_offset();

$this->url = $this->get_url();

$this->page_info = $this->page_info();

$this->page_html = $this->page_html($this->page_info);

}

//获取当前页码

private function get_page(){

$page = isset($_GET[$this->pre_page])?$this->f_GET($this->pre_page):1;

$page = $page<1?1:$page;

$page = $page>$this->page_total?$this->page_total:$page;

return $page;

}

//获取当前页的记录偏移量

private function get_offset(){

$offset = " limit ".($this->page - 1) * $this->page_size.",".$this->page_size;

return $offset;

}

//生成翻页html代码

public function page_html($page_info){

if (!empty($page_info['first'])){

if ($this->page=="" || $this->page==1){

$page_html = "".$page_info['first']."";

}

else {

$page_html = "".$page_info['first']."";

}

}//首页

if (!empty($page_info['pro'])){

if ($this->page=="" || $this->page==1){

$page_html .= "".$page_info['pro']."";

}

else{

$page_html .= "".$page_info['pro']."";

}

}//上一页

if (!empty($page_info['next'])){

if ($this->page >= $this->page_total){

$page_html .= "".$page_info['next']."";

}

else{

$page_html .= "".$page_info['next']."";

}

}//下一页

if (!empty($page_info['last'])){

if ($this->page >= $this->page_total){

$page_html .= "".$page_info['last']."";

}

else{

$page_html .= "".$page_info['last']."";

}

}//最后一页

if (!empty($page_info['t_page'])){

$page_html .= "".str_replace("%i%",$this->page_total,$page_info['t_page'])."";

}

if (!empty($page_info['page'])){

$page_html .= "".str_replace("%i%",$this->page,$page_info['page'])."";

}

if (!empty($page_info['r_total'])){

$page_html .= "".str_replace("%i%",$this->rs_total,$page_info['r_total'])."";

}

return $page_html;

}

//获取当前 URL

private function get_url(){

$url_str = $_GET;

$query_string = array();

foreach($url_str as $key=>$value){

if ($key == $this->pre_page){

continue;

}

$str .= $key."=".$value."&";

}//end for

$next_tmp = $this->page + 1;

$pro_tmp = $this->page - 1;

$last = $str.$this->pre_page."=".$this->page_total;

$next = $str.$this->pre_page."=".$next_tmp;

$pro = $str.$this->pre_page."=".$pro_tmp;

$first = $str.$this->pre_page."=1";

$query_string = array("pro"=>$pro,"next"=>$next,"last"=>$last,"first"=>$first);

return $query_string;

}

private function page_info(){

$arr = array(

"first" => "首页",

"next" => "下一页",

"pro" => "上一页",

"last" => "末页",

"t_page"=> "共 %i% 页",

"page" => "当前第 %i% 页",

"r_total"=> "共 %i% 条"

);

return $arr;

}//page_info()

//过滤函数

private function f_Get($GET){

$GET = $_GET[$GET];

return preg_replace("/[^0-9]+/i","",$GET);

}

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值