首页 > 数据库 > MySQL > 正文

简易 PHP+MySQL 分页类

2020-03-22 17:20:48
字体:
来源:转载
供稿:网友
html' target='_blank'>static function prepare($sql, $pagesize=10) { $page = isset($_GET[ page ]) ? $_GET[ page ] : 1; $pageon = ($page - 1) * $pagesize; $sql = preg_replace( /select/s/i , $0SQL_CALC_FOUND_ROWS , $sql) . limit $pageon, $pagesize $rs = mysql_query($sql); $p = mysql_query( SELECT FOUND_ROWS() list(self::$count) = mysql_fetch_row($p); self::$size = $pagesize; self::$page = $page; return $rs; static function bar($tpl= ) { if(!$tpl) $tpl = a href=?reset 首页 /a a href=?prve 上一页 /a a href=?next 下一页 /a a href=?end 尾页 /a $count = ceil(self::$count / self::$size); $page = self::$page; unset($_GET[ page $d = array( reset = 1, prve = $page 1 ? $page - 1 : 1, next = $page $count ? $page + 1 : $count, end = $count, foreach($d as $k= $v) { $_GET[ page ] = $v; $tpl = str_replace($k, http_build_query($_GET), $tpl); echo $tpl;}


通常你都有类似这样的语句
$sql = .....
$rs = mysql_query($sql);

$rs = mysql_query( select ....
你只需改作
include paging.php
$rs = paging::prepare($sql, 每页行数);
在需要出现分页条的地方写入
paging::bar();
就可以了,非常简单!

换一种调用写法,可能感觉要好些

paging.phpclass Paging { private static $_Instance; private function __clone(){} public static function getInstance() { if(empty(self::$_Instance)) self::$_Instance = new self(); return self::$_Instance; protected $count = 0; protected $size = 0; protected $page = 0; function prepare($sql, $pagesize=10) { $page = isset($_GET[ page ]) ? $_GET[ page ] : 1; $pageon = ($page - 1) * $pagesize; $sql = preg_replace( /select/s/i , $0SQL_CALC_FOUND_ROWS , $sql) . limit $pageon, $pagesize  $rs = mysql_query($sql); $p = mysql_query( SELECT FOUND_ROWS()  list($this- count) = mysql_fetch_row($p); $this- size = $pagesize; $this- page = $page; return $rs; function bar($tpl= ) { if(!$tpl) $tpl = 共{count}页 第{page}页 a href=?{reset} 首页 /a a href=?{prve} 上一页 /a a href=?{next} 下一页 /a a href=?{end} 尾页 /a  $count = ceil($this- count / $this- size); $page = $this- page; $d = array( {reset} = 1, {prve} = $page 1 ? $page - 1 : 1, {next} = $page $count ? $page + 1 : $count, {end} = $count, {count} = $count, {page} = $page, foreach($d as $k= $v) { if(in_array($k, array( {reset} , {prve} , {next} , {end} ))) { $_GET[ page ] = $v; $v = http_build_query($_GET); echo strtr($tpl, $d);function mysql_paging_query($sql, $num=10) { return Paging::getInstance()- prepare($sql, $num);function mysql_paging_bar($tpl= ) { return Paging::getInstance()- bar($tpl);}
include paging.php $rs = mysql_paging_query($sql, 20);//替代 mysql_querymysql_paging_bar();//显示分页条

本文讲解了简易 PHP+MySQL 分页类 相关知识请关注php 。

相关推荐:

php生成二维码的三种方法

PHP命令行

php基本语法

以上就是简易 PHP+MySQL 分页类的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表