簡易分頁類
這是一個簡單易用的分頁類。只需在你原有的程式中加兩句、改一句就可以了
先貼代碼
paging.php
class Paging {
public static $count = 0;
public static $size = 0;
public static $page = 0;
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 = '首頁 上一頁 下一頁 尾頁';
$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();
就可以了,非常簡單!
------解決方案--------------------
前排拜模。
這樣的寫法還是第一次見到。
$sql = preg_replace('/select\s/i', '$0SQL_CALC_FOUND_ROWS ', $sql) . " limit $pageon, $pagesize";
sql還用preg_replace……
------解決方案--------------------
謝謝分享,確實很方便 ,簡單易用 。學習了。
------解決方案--------------------
引用:
這是一個簡單易用的分頁類。只需在你原有的程式中加兩句、改一句就可以了
先貼代碼
paging.php
PHP code
class Paging {
public static $count = 0;
public static $size = 0;
public static $page = 0;
static function prepare($sql, $……