人的头脑太复杂,时间过得久,有时候连自己也被自己骗了,记下来才是最真实的......开源技术博客,记录开源技术应用的点点滴滴。 注册 | 登陆

PHP+MSSQL的简单分页

PHP+MSSQL的简单分页

PHP代码
  1. <?php 
  2.   
  3. $page = intval ( $_GET ['page'] ); 
  4.   
  5. $gPageSize = 10; //每页显示的记录数   
  6.   
  7. $dbhost = "localhost"//MSSQL Server   
  8.   
  9. $dbuser = "sa"//用户名   
  10.   
  11. $dbpass = ""//密码   
  12.   
  13. $dbname = "[user]"//密码   
  14.   
  15. $id = mssql_connect ( $dbhost$dbuser$dbpass ) or die ( "无法连接数据库服务器!" ); 
  16.   
  17. $db = mssql_select_db ( $dbname$id ) or die ( "无法连接数据库!" ); 
  18.   
  19. $query = "select * from A3000"
  20.   
  21. $rresult = mssql_query ( $query$id ) or die ( "无法执行SQL:$query" ); 
  22.   
  23. //$page变量标示当前显示的页   
  24.   
  25. $page && $page = 1; 
  26.   
  27. //得到当前查询到的纪录数 $nNumRows   
  28.   
  29. if (($nNumRows = mssql_num_rows ( $rresult )) <= 0) { 
  30.   
  31.     echo "没有纪录"
  32.   
  33.     exit (); 
  34.   
  35.   
  36.   
  37. //得到最大页码数MaxPage   
  38.   
  39. $MaxPage = ( int ) ceil ( $nNumRows / $gPageSize ); 
  40.   
  41. if (( int ) $page > $MaxPage) { 
  42.   
  43.     $page = $maxPage
  44.   
  45.   
  46. echo "<table border=\"1\"><tr>"
  47.   
  48. //显示表格头   
  49.   
  50. for($iCnt = 0; $iCnt < mssql_num_fields ( $rresult ); $iCnt ++) { 
  51.   
  52.     echo "<th>" . mssql_field_name ( $rresult$iCnt ) . "</th>"
  53.   
  54.   
  55. echo "</tr>"
  56.   
  57. //根据偏移量($page - 1)*$gPageSize,运用mssql_data_seek函数得到要显示的页面   
  58.   
  59. if (mssql_data_seek ( $rresult, ($page - 1) * $gPageSize )) { 
  60.   
  61.     $i = 0; 
  62.   
  63.     //循环显示当前纪录集   
  64.   
  65.     for($i$i < $gPageSize$i ++) { 
  66.   
  67.         echo "<tr>"
  68.   
  69.         //得到当前纪录,填充到数组$arr;   
  70.   
  71.         $arr = mssql_fetch_row ( $rresult ); 
  72.   
  73.         if ($arr) { 
  74.   
  75.             //循环显示当前纪录的所有字段值   
  76.   
  77.             for($nOffSet = 0; $nOffSet < count ( $arr ); $nOffSet ++) { 
  78.   
  79.                 echo "<td>" . $arr [$nOffSet] . "</td>"
  80.   
  81.             } 
  82.   
  83.         } 
  84.   
  85.         echo "</tr>"
  86.   
  87.     } 
  88.   
  89.   
  90. echo "</table>"
  91.   
  92. echo "第 $page 页, 共 $MaxPage 页"
  93.   
  94. //首页和上一页的链接   
  95.   
  96. if ($nNumRows > 1 && $page > 1) { 
  97.   
  98.     $prevPage = $page - 1; 
  99.   
  100.     echo " <a href=$Php_SELF?page=1>首页</a> "
  101.   
  102.     echo " <a href=$Php_SELF?page=$prevPage >上一页</a> "
  103.   
  104.   
  105. //下一页和末页的链接   
  106.   
  107. if ($page >= 1 && $page < $MaxPage) { 
  108.   
  109.     $nextPage = $page + 1; 
  110.   
  111.     echo " <a href=$Php_SELF?page=$nextPage >下一页</a> "
  112.   
  113.     echo " <a href=$Php_SELF?page=$MaxPage >末页</a> "
  114.   
  115.   
  116. ?>  
  117.   

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8

发表评论

评论内容 (必填):