您好,欢迎访问一九零五行业门户网

用PHP和SQL Sever实现分页显示_PHP

我们在浏览网页时,经常看到分页显示的页面。如果想把大量数据提供给浏览者,分页显示是个非常实用的方法。在下面的文章中,我们将介绍如何用php和ms sql server实现对数据库中纪录的分页显示。
在本例中,我们用mssql_num_rows()函数得到当前查询的记录数,结合页面大小sgpagesize,得到当前记录集要显示的页面数,为分页显示打下了基础。mssql_data_seek()函数是分页显示的关键函数,该函数的第二个参数标示当前纪录的偏移量,根据这个偏移量就可以找到要显示的页面。
分页显示源程序:
php分页
//为了便于理解和更快地应用到工作中去,我们以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 页;?>
//显示表格头
for($icnt = 0; $icnt
{
echo .mssql_field_name($rresult,$icnt). ;
}
?>
//根据偏移量($page - 1)*$gpagesize,运用mssql_data_seek函数得到要显示的页面
if( mssql_data_seek($rresult,($page-1)*$gpagesize) )
{
$i=0;
//循环显示当前纪录集
for($i;$i
{
echo ;
//得到当前纪录,填充到数组$arr;
$arr= mssql_fetch_row($rresult);
if($arr)
{
//循环显示当前纪录的所有字段值
for($noffset = 0;$noffset
{
echo .$arr[$noffset]. ;
}
}
echo
;
}
}
?>
//首页和上一页的链接
if( $nnumrows>1 && $page>1)
{
$prevpage=$page-1;
echo 首页 ;
echo 上一页 ;
}
//下一页和末页的链接
if( $page>=1 && $page
{
$nextpage= $page 1;
echo 下一页 ;
echo 末页 ;
}
?>
把上述脚本程序进行一些修改,你就可以建立自己的服务器端分页显示的脚本程序了。
其它类似信息

推荐信息