|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
我们在浏览网页时,常常看到分页显示的页面。假如想把大量数据提供应浏览者,分页显示是个异常实用的方式。在下面的文章中,我们将介绍如何用PHP和MS SQL Server实现对数据库中纪录的分页显示。 在本例中,我们用mssql_num_rows()函数得到当前查询的记录数,结合页面大小SgPageSize,得到当前记录集要显示的页面数,为分页显示打下了基础。mssql_data_seek()函数是分页显示的要害函数,该函数的第二个参数标示当前纪录的偏移量,根据这个偏移量就可以找到要显示的页面。 分页显示源程序: <br><html> <head> <title>PHP分页</title> </head> <body> <? //为了便于理解和更快地应用到工作中去,我们以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))<=0) { echo "<p align=center>没有纪录"; exit; }; //得到最大页码数MaxPage $MaxPage = (int)ceil($nNumRows/$gPageSize); if((int)$page > $MaxPage) $page=$maxPage; ?> <table align="center" width="80%" border=0> <tr><td><? echo "<font size=2>第 $page 页,共 $MaxPage 页</font>";?></td><td></td></tr></table> <table align="center" width="80%" border="1" cellspacing="0" cellpadding="4" bordercolorlight="#CC9966" bgcolor="#00F2EE" bordercolordark="#FFFFFF" class="LZH"> <tr bgcolor="#F7F2ff" style="font-size:14.8px;font-weight:bold"> <? //显示表格头 for($iCnt = 0; $iCnt < mssql_num_fields($rresult); $iCnt++) { echo "<td>".mssql_field_name($rresult,$iCnt)."</td>" ; } ?> </tr> <? //根据偏移量($page - 1)*$gPageSize,运用mssql_data_seek函数得到要显示的页面 if( mssql_data_seek($rresult,($page-1)*$gPageSize) ) { $i=0; //循环显示当前纪录集 for($i;$i<$gPageSize;$i++) { echo "<tr style=/"font-size:12px/">"; //得到当前纪录,填充到数组$arr; $arr= mssql_fetch_row($rresult); if($arr) { //循环显示当前纪录的所有字段值 for($nOffSet = 0;$nOffSet < count($arr);$nOffSet++) { echo "<td>".$arr[$nOffSet]."</td>"; } } echo "</tr>"; } } ?> </table> <br> <hr size=1 width=80%> <div align=center style="font-size:12px"> <? //首页和上一页的链接 if( $nNumRows>1 && $page>1) { $prevPage=$page-1; echo " <a href=$PHP_SELF?page=1>首页</a> "; echo " <a href=$PHP_SELF?page=$prevPage >上一页</a> "; } //下一页和末页的链接 if( $page>=1 && $page<$MaxPage) { $nextPage= $page+1; echo " <a href=$PHP_SELF?page=$nextPage >下一页</a> "; echo " <a href=$PHP_SELF?page=$MaxPage >末页</a> "; } ?> </div> </body> </html> 把上述脚本程序进行一些修改,你就可以建立自己的服务器端分页显示的脚本程序了。 返回类别: 教程 上一教程: APACHE中如何在同一个IP配置两个虚拟主机 下一教程: xml+php动态载入与分页 您可以阅读与"用PHP和SQL Sever实现分页显示"相关的教程: · Php+SqlServer实现分页显示 · 我写的一个用PHP+MYSQL轻松实现论坛里的分级+分页显示的例程!(很具体的哦!虽然效率不是最佳,却非... · 例子:用PHP3实现MySQL数据的分页显示 · PHP+MySQL下分页显示的实现 · 用PHP实现ODBC数据分页显示一例 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |