php一个分页显示类推荐查看本文HTML版本
<?php
* 说明:
* 1. 配合MYSQL数据库使用
* 2. 类没有提供连接数据库的功能,需在外部建立数据库连接。
* */
/*
* 使用方法:
* $sql = "select * from news limit 0,10";
* $hdc = new PageItem($sql);
* echo $hdc->myPageItem();
* $arrRecords = $hdc->ReadList();
* */
if (!defined("__PAGEITEM__")) {
define("__PAGEITEM__", 1);
} else {
exit(3);
}
class PageItem {
var $iDefaultRecords = 10; // 默认每页显示记录数,如果没有设置,就使用默认值
var $iMaxRecord; //每页记录数
var $iTotal; //记录总数
var $sqlRecord; // 获取记录的SQL查询
var $iPages; //总页数
var $CPages; //当前页数
/*
* 构造函数 -- 初始化变量
* 参数:SQL查询语句,将忽略LIMIT语句
* */
function PageItem($sql = "")
{
// register_shutdown_function($this->_PageItem());
$this->SetMaxRecord($this->iDefaultRecords);
/*
* 解析SQL语句
* */
if ($sql <> "") {
list($sql) = spliti("LIMIT", $sql); // 去除LIMIT语句
$this->sqlRecord = trim($sql);
list(, $sql) = spliti("FROM", $sql);
$sql = trim($sql);
if(preg_match ("/\bGROUP\b \bBY\b/i", $sql))
{
//echo "HAVE GROUP BY";
if(preg_match ("/\bHAVING\b/i", $sql)) list(,$field) = spliti("HAVING",$sql);