我写的MySQL分页代码...
xhick 2003-07-22 03:57:11 上次硬盘坏以前写过一次,这次费了些时间,干脆保存到网上来好了!
<?php
## +----------------------------------------------------------------------+
## | MySQL分页代码 For PHP4 |
## +----------------------------------------------------------------------+
## |1. 下面的代码是作者按PEAR规范针对MySQL设计,只要你使用的数据库支持SQL |
## | 语句的Limit选项,稍微改动一下就可以适应其他数据库。 |
## |2. 为了简化,作者忽略了数据库表中没有数据和浏览用户输入$start_record |
## | 的值的情况。 |
## |3.这里没有写完整的html代码一般不影响运行,作者建议使用时补充完整 |
## | 作者:Hick |
## | Email:hick@163.com |
## +----------------------------------------------------------------------+
$host = "localhost";
//连接的主机
$user = "hick";
//数据库服务器用户名
$password = "hick";
//数据库服务器用户密码
$db_name = "test";
//要操作的数据库名
$table_name = "test";
//要操作的数据表名
$page_size = 5;
//一个页面显示的记录数
$con_db = @mysql_connect($host, $user, $password) or die("无法连接数据库服务器");
//连接数据库
$start_record = (strlen($_GET[start_record]) == 0)?0:$_GET[start_record];
//确定当前页开始记录数
$sql = "select * from $table_name";
//为获得总共的记录数而定义SQL语句
$result = @mysql_db_query($db_name, $sql, $con_db) or die("数据库或表不存在");
//提交SQL语句
$record_number = @mysql_num_rows($result);
//获得总的记录数
$page_number = ceil($record_number/$page_size);
//总的页数
$now_page = $start_record/$page_size+1;
//当前的页数
$sql = "select * from $table_name limit $start_record,$page_size;";
//显示数据用的SQL语句
$result = @mysql_query($sql,$con_db) or die("无法查询数据库");
//提交查询语句
while($row = mysql_fetch_array($result)){
//利用一个循环读取记录,这里假
echo "ID: ".$row[ID]." Name: ".$row[name]."<br>";
//定数据表中有ID和name两个字段
}
mysql_close($con_db);
//关闭数据库连接
echo "总共[$page_number]页,当前第[$now_page]页";
//显示总页数和当前页数
if ($page_number>1 and $start_record != 0) {
//下面两个if语句决定"首页,上页,下页,末页"的显示
$pre_page = $start_record - $page_size;
echo "[<a href=$PHP_SELF?start_record=0>首页</a>]";
echo "[<a href=$PHP_SELF?start_record=$pre_page>上页</a>]";
}
if ($page_number>1 and $start_record != ($page_number - 1)*$page_size) {
$next_page = $start_record + $page_size;
$last_page = ($page_number - 1)*$page_size;
echo "[<a href=$PHP_SELF?start_record=$next_page>下页</a>]";
echo "[<a href=$PHP_SELF?start_record=$last_page>末页</a>]";
}
?>