用PHP和SQL Sever实现分页显示
程序员文章站
2022-05-08 20:38:14
...
分页|显示
我们在浏览网页时,经常看到分页显示的页面。如果想把大量数据提供给浏览者,分页显示是个非常实用的方法。在下面的文章中,我们将介绍如何用PHP和MS SQL Server实现对数据库中纪录的分页显示。
在本例中,我们用mssql_num_rows()函数得到当前查询的记录数,结合页面大小SgPageSize,得到当前记录集要显示的页面数,为分页显示打下了基础。mssql_data_seek()函数是分页显示的关键函数,该函数的第二个参数标示当前纪录的偏移量,根据这个偏移量就可以找到要显示的页面。
分页显示源程序:
//为了便于理解和更快地应用到工作中去,我们以MS SQL Server的NorthWind数据库Customers表为例。
$gPageSize= 10; //每页显示的记录数
$hostname = "localhost"; //MSSQL Server
$dbuser = "sa"; //用户名
$dbpasswd = "1111111"; //密码
//连接数据库
$id = mssql_connect($hostname,$dbuser,$dbpasswd) or die("无法连接数据库服务器!");
//选择数据库,为了方便,这里以MSSQL Server的NorthWind数据库为例
$db = mssql_select_db("northwind",$id) or die("无法连接数据库!");
//以Customers表为例,构建查询字符串
$query = "select * from Customers";
//执行查询语句
$rresult = mssql_query($query) or die("无法执行SQL:$query");
//$page变量标示当前显示的页
if(!isset($page)) $page=1;
if($page==0) $page=1;
//得到当前查询到的纪录数 $nNumRows
if(($nNumRows= mssql_num_rows($rresult))
{
echo "
没有纪录";
exit;
};
//得到最大页码数MaxPage
$MaxPage = (int)ceil($nNumRows/$gPageSize);
if((int)$page > $MaxPage)
$page=$maxPage;
?>
echo "第 $page 页,共 $MaxPage 页";?> |
".mssql_field_name($rresult,$iCnt)." | " ;
".$arr[$nOffSet]." | ";
//首页和上一页的链接
if( $nNumRows>1 && $page>1)
{
$prevPage=$page-1;
echo " 首页 ";
echo " 上一页 ";
}
//下一页和末页的链接
if( $page>=1 && $page
{
$nextPage= $page+1;
echo " 下一页 ";
echo " 末页 ";
}
?>
把上述脚本程序进行一些修改,你就可以建立自己的服务器端分页显示的脚本程序了。
上一篇: PHP中操作MySQL数据库的注意事项