效果1:

使用代码(page.class.php-分页代码,index.php-页面显示代码,page.css-css样式)
page.class.php:
<?php
class Page {
private $total; //总记录
private $pagesize; //每页显示多少条
private $limit; //limit
private $page; //当前页码
private $pagenum; //总页码
private $url; //地址
private $bothnum; //两边保持数字分页的量
private $orderby; //排序字段,含正序或是倒序: CreateTime desc / CreateTime asc
//构造方法初始化
public function __construct($_total, $_pagesize, $_orderby, $_url) {
$this->total = $_total ? $_total : 1;
$this->pagesize = $_pagesize;
$this->pagenum = ceil($this->total / $this->pagesize);
$this->page = $this->setPage();
$this->limit = "LIMIT ".($this->page-1)*$this->pagesize.",$this->pagesize";
$this->url = $_url;
$this->bothnum = 3;
$this->orderby = ' order by '.$_orderby;
}
//拦截器
private function __get($_key) {
//如果所取属性名称部位limit则直接返回空
if ($_key == 'limit') {
return $this->$_key;
}
//排序字段
if ($_key == 'orderby') {
return $this->$_key;
}
}
//获取当前页码
private function setPage() {
if (!empty($_GET['page'])) {
if ($_GET['page'] > 0) {
if ($_GET['page'] > $this->pagenum) {
return $this->pagenum;
} else {
return $_GET['page'];
}
} else {
return 1;
}
} else {
return 1;
}
}
//数字目录
private function pageList() {
for ($i=$this->bothnum;$i>=1;$i--) {
$_page = $this->page-$i;
if ($_page < 1) continue;
$_pagelist .= '<a href="'.$this->url.'?page='.$_page.'">'.$_page.'</a> ';
}
$_pagelist .= '<span class="current">'.$this->page.'</span> ';
for ($i=1;$i<=$this->bothnum;$i++) {
$_page = $this->page+$i;
if ($_page > $this->pagenum) break;
$_pagelist .= ' <a href="'.$this->url.'?page='.$_page.'">'.$_page.'</a> ';
}
return $_pagelist;
}
//首页
private function index()
{
if ($this->page == 1) {
return '<span class="disabled">首页</span>';
} else {
return '<a href="'.$this->url.'">首页</a>';
}
}
//第一页
private function first() {
if ($this->page > $this->bothnum+1) {
return '<a href="'.$this->url.'">1</a><span> ... </span>';
}
}
//上一页
private function prev() {
if ($this->page == 1) {
return '<span class="disabled">上一页</span>';
}
return '<a href="'.$this->url.'?page='.($this->page-1).'">上一页</a>';
}
//下一页
private function next() {
if ($this->page == $this->pagenum) {
return '<span class="disabled">下一页</span>';
}
return '<a href="'.$this->url.'?page='.($this->page+1).'">下一页</a>';
}
//最后一页
private function last() {
if ($this->pagenum - $this->page > $this->bothnum) {
return '<span> ... </span><a href="'.$this->url.'?page='.$this->pagenum.'">'.$this->pagenum.'</a> ';
}
}
//尾页
private function end()
{
if ($this->page == $this->pagenum) {
return ' <span class="disabled">尾页</span>';
} else {
return ' <a href="'.$this->url.'?page='.$this->pagenum.'">尾页</a>';
}
}
//分页信息
public function showpage() {
$_page .= $this->index();
$_page .= $this->prev();
$_page .= $this->first();
$_page .= $this->pageList();
$_page .= $this->last();
$_page .= $this->next();
$_page .= $this->end();
return $_page;
}
}
#调用方法
#$_page = new Page($_total,$_pagesize); //其中 $_total 是数据集的总条数,$_pagesize 是每页显示的数量.
?>
index.php:
<?php
//引入数据库连接文件
require('conn.php');
//引入分页类
require('page.class.php');
//每页显示页数
$_pagesize =1;
//url
$_url = 'News_List.php';
//排序字段
$_orderby = 'CreateTime desc';
//获取总记录数
$_datanum = mysql_num_rows(mysql_query("SELECT id FROM `tb_article`"));
//分页对象
$p = new Page($_datanum,$_pagesize,$_orderby,$_url);
//获取微博数据资源句柄
$queryhandle = @mysql_query("SELECT * FROM `tb_article` ".$p->orderby.$p->limit) or die('SQL执行失败!');
?>
<html>
<head>
<meta charset="UTF-8">
<title>添加微博</title>
<link href="css/page.css" rel="stylesheet" type="text/css" />
</head>
<body>
<hr/>
<a href="add.php">添加微博</a>
<hr/>
<!-- 循环显示数据库内容 -->
<?php while(!!$result = mysql_fetch_array($queryhandle,MYSQL_ASSOC)) { ?>
<h3>标题:<a href = "disinfo.php?id=<?php echo $result['id'] ?>"><?php echo $result['title'] ?></a>
| <a href = "update.php?id=<?php echo $result['id'] ?>"> 编辑 </a>
| <a href = "delete.php?id=<?php echo $result['id'] ?>"> 删除 </a> |</h3>
<h3>时间:<?php echo $result['datetime'] ?> </h3>
<h3>点击量:<?php echo $result['click'] ?> </h3>
<p><?php echo $result['content'] ?> </p>
<hr/>
<?php } ?>
<!-- 分页(包含此div,否则无法应用样式) -->
<div id="page">
<?php echo $p->showpage(); ?>
</div>
</body>
</html>
page.css:
@CHARSET "UTF-8";
#page {
FONT-SIZE: 13px;
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
MARGIN: 3px;
TEXT-ALIGN: center;
PADDING:3px;
}
#page A {
PADDING:3PX 7PX;
MARGIN: 2px;
COLOR: #333333;
TEXT-DECORATION: none;
BORDER:#DBE5EE 1px solid;
}
#page A:hover {
COLOR:#fff;
BACKGROUND:#07519A;
BORDER:#07519A 1px solid;
}
#page A:active {
COLOR: #fff;
BORDER:#07519A 1px solid;
}
#page SPAN.current {
FONT-WEIGHT: bold;
MARGIN: 2px;
COLOR: #fff;
BACKGROUND-COLOR: #07519A;
BORDER:#07519A 1px solid;
PADDING:2px 5px;
}
#page SPAN.disabled {
MARGIN: 2px;
COLOR: #CDC9C9;
BORDER: #eee 1px solid;
PADDING:2PX 5PX;
}
效果2:

代码:
html:
<!-- 分页 -->
<div id="page">
<ul>
<li>第<?php echo $_page; ?>/<?php echo $_pagenum; ?>页</li>
<li>共有<?php echo $_datanum; ?>页</li>
<?php
if ($_page == 1) {
//如果是第一页,则首页和第一页不可用
echo "<li>首页</li>";
echo "<li>第一页</li>";
} else {
//如果不是第一页,则可用
echo "<li><a href='index.php'>首页</a></li>";
echo "<a href='index.php?page=".($_page - 1)."'><li>上一页</a></li>";
}
if ($_page == $_pagenum) {
//如果是最后也,则下一页与最后一页不可用。
echo "<li>下一页</li>";
echo "<li>尾页</li>";
} else {
//如果不是,则可用
echo "<a href='index.php?page=".($_page + 1)."'><li>下一页</a></li>";
echo "<li><a href='index.php?page=".$_pagenum."'>尾页</a></li>";
}
?>
</ul>
</div>
php:
<?php
//引入数据库连接文件
require('conn.php');
//分页
//接收页数
$_page = $_GET['page'];
//判断是否为第一页
if (!isset($_GET['page'])) {
$_page = 1;
}
//每页显示页数
$_pagesize = 3;
//起始页数
$_startpage = ($_page - 1) * $_pagesize;
//获取微博数据资源句柄
$queryhandle = @mysql_query("SELECT * FROM `tb_article` LIMIT ".$_startpage.','.$_pagesize) or die('SQL执行失败!');
//获取总记录数
$_datanum = mysql_num_rows(mysql_query("SELECT id FROM `tb_article`"));
//计算总页数
$_pagenum = ceil($_datanum / $_pagesize);
?>
css:
@CHARSET "UTF-8";
#page ul{
680px;
height:40px;
margin:0 auto;
}
#page ul li{
list-style-type:none;
float:left;
100px;
margin:0 5px;
height:25px;
line-height:25px;
dispaly:inline-block;
text-align:center;
border:1px solid #000;
}