一简单的分页类
时间:2009-03-21
来源:互联网
/*********************************
一简单的翻页类
* *************************/
class database {
var $link;
function database($db_host = "localhost", $db_user = "root", $db_pass = "", $db_name) {
$this->link = @mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error());
mysql_select_db($db_name, $this->link) or die(mysql_error());
}
function query($query) {
return mysql_query($query, $this->link);
}
function num_rows($result) {
return mysql_num_rows($result);
}
function get_pages($query, $uri, $page = 1, $num = 10) {
$rows = $this->num_rows($this->query($query));
$pages = ceil($rows / $num);
if ($page < 1) { $page = 1; }
elseif ($page > $pages) { $page = $pages; }
if ($page <= 1) {
$start_link = "[首页]";
$prev_link = "[前一页]";
} else {
$prev = $page - 1;
$start_link = "<a href='$uri&page=1'>[首页]</a>";
$prev_link = "<a href='$uri&page=$prev'>[前一页]</a>";
}
if ($page >= $pages) {
$next_link = "[下一页]";
$end_link = "[尾页]";
} else {
$next = $page + 1;
$next_link = "<a href='$uri&page=$next'>[下一页]</a>";
$end_link = "<a href='$uri&page=$pages'>[尾页]</a>";
}
$b = $page - 5;
$e = $page + 5;
if ($b < 1) {
$e = $e - $b;
$b = 1;
}
if ($e > $pages) {
$b = $b - ($e - $pages);
$e = $pages;
if ($b < 1) $b = 1;
}
for ($i = $b; $i <= $e; $i++) {
if ($i == $page) { $num_link .= " <a href='$uri&page=$i' style='font-weight: bold; color: #FF0000'>$i</a> "; } else { $num_link .= " <a href='$uri&page=$i'>$i</a> "; }
}
$extra = "当前第 $page 页/共 $pages 页 跳转到 <input type='text' name='page' size='3' id='page' /> <input type='submit' value='GO' onclick=\"window.location='$uri&page=' + escape(document.getElementById('page').value);\">";
return "<span style='font: 12px Tahoma;'>$start_link $prev_link $num_link $next_link $end_link $extra</span>";
}
}
/*********************************
测试数据库的结构:
CREATE TABLE `test` (
`id` varchar(10) NOT NULL default '',
PRIMARY KEY (`id`)
)
*********************************/
$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "test";
$num_per_page = 2;
$db = new database($db_host, $db_user, $db_pass, $db_name);
var_dump($db->get_pages("select * from test", $_SERVER['PHP_SELF']."?", $_GET['page'], $num_per_page));
?>

mysql.rar (1.1 KB)
作者: happyyin 发布时间: 2009-03-21
作者: E蜗牛 发布时间: 2009-03-21
作者: 古嗣小井 发布时间: 2009-03-21
作者: 古嗣小井 发布时间: 2009-03-21
作者: iminto 发布时间: 2009-03-22
作者: imhehe 发布时间: 2009-03-22
作者: xinxing520 发布时间: 2009-03-22
作者: kwlong2008 发布时间: 2009-03-24
作者: yangfan 发布时间: 2009-03-24

作者: langcier 发布时间: 2009-10-20
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28