php经典分页类
<?php class db { public $conn, $db, $table, $user, $host, $unm, $pwd; public $res; public $char; public $linkType; function __construct($linkType = false, $char = "gb2312") { $this->linkType = $linkType; //设定连接类型 $this->char = $char; //设定连接校对字符 $this->db = DB; $this->user = USER; $this->host = HOST; $this->unm = UNM; $this->pwd = PWD; if ($this->linkType) { $this->conn = mysql_pconnect($this->host, $this->unm, $this->pwd) or die("Database connection failure"); } else { $this->conn = mysql_connect($this->host, $this->unm, $this->pwd) or die("Database connection failure"); } mysql_select_db($this->db); mysql_query("set names " . $this->char); } function query($sql, $type = "true") { //$type:默认的操作。 指代select操作 $this->res = mysql_query($sql) or die("SQL Statement error !Please check it again"); $row = $type ? mysql_num_rows($this->res) : mysql_affected_rows(); $result["res"] = $this->res; $result["row"] = $row; return $result; } //fetch()方法:获取所有的记录,并写入数组 function fetch($sql) { $res = self::query($sql); while ($rs = mysql_fetch_array($res["res"])) { $result[] = $rs; } return $result; } //获取下一条记录 function fetchNext($filed, $currenID, $table) { $sql = "select * from $table where $filed>$currenID limit 0,1 "; return self::fetch($sql); } //获取前一条记录 function fetchPre($filed, $currenID, $table) { $sql = "select * from $table where $filed<$currenID limit 0,1 "; return self::fetch($sql); } }
class page extends db { public $currentPage, $totalRecord, $totalPage, $pageSize; public $start; public $flag; public $sql; function __construct($sql, $pagesize = 5, $flag = "page") { $this->sql = $sql; $this->pageSize = $pagesize; $this->flag = $flag; //设定翻页链接标识符 $row = parent::query($sql); $this->totalRecord = $row["row"]; $this->totalPage = ceil($this->totalRecord / $this->pageSize); $page = $_REQUEST[$this->flag]; if ($page < 0 || $page == "") { $this->currentPage = 1; } else { $page > $this->totalPage ? $this->currentPage = $this->totalPage : $this->currentPage = $page; } $this->start = ($this->currentPage - 1) * $this->pageSize; } //显示分页列表 function show($page = 10) { $str.= '<div class="pages_btns"><div class="pages">'; $str.= "<em> " . $this->totalRecord . " </em>"; $pre = $this->currentPage - 1; if ($pre != 0) { $str.= '<a href=?' . $this->flag . '=' . $pre . ' class=next><<</a>'; } if ($this->currentPage >= $page) { if ($this->totalPage - $this->currentPage < 10) { $start = $this->currentPage - ($this->currentPage % 10); $end = $this->totalPage; } else { $start = $this->currentPage - 2; $end = $start + $page - 1; } } else { $start = 1; $end = 10; } for ($i = $start; $i <= $end; $i++) { if ($i == $this->currentPage) { $str.= "<strong>" . $i . "</strong>"; } else { $str.= "<a href=?" . $this->flag . "=$i>$i</a>"; } } $next = $this->currentPage + 1; $str.= '<a href=?' . $this->flag . '=' . $next . ' class=next>>></a>'; $str.= "<a href=?" . $this->flag . "=" . $this->totalPage . " class=last>..." . $this->totalPage . "</a>"; $str.= "<kbd><input type='text' name='custompage' size='3' onkeydown="if (event . keyCode == 13) { window . location = '{$_SERVER['PHP_SELF']}?{$this->flag}=' + this . value; return false; } " /></kbd>"; $str.= "</div></div>"; return $str; } } ?>
<?php define("HOST", "localhost"); define("UNM", "root"); define("PWD", "root"); define("DB", "test"); require_once ('db.class.php'); $db = new db(); $sql = "select * from yy"; $page = new page($sql, 10); $sql.= " limit $page->start,$page->pageSize"; $rs = $db->fetch($sql); ?>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#FF0000">
<tr>
<td height="25" bgcolor="#FFFFFF">ID</td>
<td bgcolor="#FFFFFF">UNM</td>
</tr>
<?php
for ($i = 0; $i < count($rs); $i++) {
?>
<tr>
<td height="25" bgcolor="#FFFFFF"><?php echo $rs[$i][0] ?></td>
<td bgcolor="#FFFFFF"><?php echo $rs[$i][1] ?></td>
</tr>
<?php
}
?>
<tr>
<td height="25" colspan="2" bgcolor="#FFFFFF"><?php echo $page->show() ?></td>
</tr>
</table>
本文链接:http://www.phprm.com/code/530daf04d798b98c6aebae389abebd2a.html
收藏随意^^请保留教程地址.