首页 > 开发 > PHP > 正文

PHP MSSQL 分页实例

2024-05-04 23:07:02
字体:
来源:转载
供稿:网友

本文实例为大家分享了PHP MSSQL可刷新分页实例,具体内容如下:

  1. <?php 
  2.  
  3. /* 
  4.  
  5.  '页面说明: 
  6.  
  7. */ 
  8.  
  9.   
  10.  
  11. $link=mssql_connect("MYSQL2005","sa","123456"or die("db link error!".mssql_error()); 
  12.  
  13. mssql_select_db("edu_dzk",$linkor die("db open error!".mssql_error()); 
  14.  
  15. //mssql_query("set names 'utf8'"); 
  16.  
  17.   
  18.  
  19. $sqlstrcount="SELECT count(1) FROM reguser"
  20.  
  21.   
  22.  
  23. $page = $_GET["page"]; 
  24.  
  25.   
  26.  
  27. if(!is_numeric($page)){ 
  28.  
  29.  $page="1"
  30.  
  31.  
  32.   
  33.  
  34. $pagesize="30"
  35.  
  36.   
  37.  
  38. //$sql=mysql_query($sqlstr); 
  39.  
  40.   
  41.  
  42. //$totalnum=mysql_num_rows($sql); 
  43.  
  44.   
  45.  
  46. $sql=mssql_query($sqlstrcount); 
  47.  
  48.   
  49.  
  50. list($totalnum)=mssql_fetch_row($sql); 
  51.  
  52.   
  53.  
  54. $pagecount=ceil($totalnum/$pagesize); 
  55.  
  56.   
  57.  
  58. $offset=($page-1)*$pagesize
  59.  
  60.   
  61.  
  62. $sqlstr="Select top ".($pagesize)." * from reguser where id not in (select top ".(($page-1)*$pagesize)." id from reguser order by id desc) order by id desc"
  63.  
  64.   
  65.  
  66. $sql=mssql_query($sqlstr); 
  67.  
  68.   
  69.  
  70. $result=""
  71.  
  72. while($result=mssql_fetch_array($sql)){ 
  73.  
  74.  echo $result["id"].'<br>'
  75.  
  76.  
  77.   
  78.  
  79. showpageinfo2($totalnum,$pagecount,$page,"&z=".$z); 
  80.  
  81. mssql_Close($link); 
  82.  
  83.   
  84.  
  85. function showpageinfo2($totalnum,$pagecount,$page,$filster
  86.  
  87.  
  88.  echo "共计: $totalnum 条记录,共 $pagecount 页,当前是第 $page 页 "
  89.  
  90.   
  91.  
  92.  if($page!=1) 
  93.  
  94.  { 
  95.  
  96.  echo "<a href="?page=1$filster">首页</a> "
  97.  
  98.  echo "<a href="?page=".($page-1)."$filster">上一页</a> "
  99.  
  100.  } 
  101.  
  102.   
  103.  
  104.  if($page<$pagecount
  105.  
  106.  { 
  107.  
  108.  echo "<a href="?page=".($page+1)."$filster">下一页</a> "
  109.  
  110.  echo "<a href="?page=$pagecount$filster">尾页</a>  "
  111.  
  112.  } 
  113. //Vevb.com 
  114.  
  115.  
  116. ?> 

下面为大家分享了PHP+MSSQL通用分页公式,供大家参考,具体内容如下:

  1. <?php 
  2.  
  3. //phpinfo(); 
  4.  
  5. //$conn=mssql_connect('192.168.0.3','app','web')or die (mssql_get_last_message()); 
  6.  
  7. //if($conn) 
  8.  
  9. //{ 
  10.  
  11. //?echo "success"; 
  12.  
  13. //}else{ 
  14.  
  15. //?echo "fail"; 
  16.  
  17. //} 
  18.  
  19. ?> 
  20.  
  21.   
  22.  
  23.   
  24.  
  25. <title>PHP分页</title> 
  26.  
  27.   
  28.  
  29.   
  30.  
  31. <? 
  32.  
  33. $gPageSize= 10; //每页显示的记录数 
  34.  
  35. $hostname = "."//MsSQL Server 
  36.  
  37. $dbuser = "sa"//用户名 
  38.  
  39. $dbpasswd = ""//密码 
  40.  
  41. //连接数据库 
  42.  
  43. $id = mssql_connect($hostname,$dbuser,$dbpasswdor die("无法连接数据库服务器!"); 
  44.  
  45. $db = mssql_select_db("phmis04",$idor die("无法连接数据库!"); 
  46.  
  47. //以xxx表为例,构建查询字符串 
  48.  
  49. $query = "select top 20 ag_mate,ag_color,ag_width,ag_mode,mi_name,convert(char,ag_date,23)as ag_date,ag_grid,au_name,ag_num from acco_grid join mate_info on ag_mate=mi_id join appl_unit on au_id=ag_unit;"
  50.  
  51. //执行查询语句 
  52.  
  53. $rresult = mssql_query($queryor die("无法执行SQL:$query"); 
  54.  
  55. //$page变量标示当前显示的页 
  56.  
  57. if(!isset($page)) $page=1; 
  58.  
  59. if($page==0) $page=1; 
  60.  
  61. //得到当前查询到的纪录数 $nNumRows 
  62.  
  63. if(($nNumRows= mssql_num_rows($rresult))<=0) 
  64.  
  65.  
  66. echo "<p align="center">没有纪录"
  67.  
  68. exit
  69.  
  70. }; 
  71.  
  72. //得到最大页码数MaxPage 
  73.  
  74. $MaxPage = (int)ceil($nNumRows/$gPageSize); 
  75.  
  76. if((int)$page > $MaxPage
  77.  
  78. $page=$maxPage
  79.  
  80. ?>  
  81.  
  82. </p><table align="center" width="80%" border="0"> <tbody><tr><td> <? echo "<font size="2">第  
  83.  
  84. $page 页,共 $MaxPage 页</font>";?> </td><td></td></tr></tbody></table> 
  85.  
  86.   
  87.  
  88. <? 
  89.  
  90. //显示表格头 
  91.  
  92. for($iCnt = 0; $iCnt < mssql_num_fields($rresult); $iCnt++) 
  93.  
  94.  
  95. echo "" ; 
  96.  
  97.  
  98. ?>  
  99.  
  100.   
  101.  
  102. <? 
  103.  
  104. //根据偏移量($page - 1)*$gPageSize,运用mssql_data_seek函数得到要显示的页面 
  105.  
  106. if( mssql_data_seek($rresult,($page-1)*$gPageSize) ) 
  107.  
  108. {  
  109.  
  110. $i=0; 
  111.  
  112. //循环显示当前纪录集 
  113.  
  114. for($i;$i<$gPageSize;$i++) 
  115.  
  116.  
  117. echo ""
  118.  
  119. //得到当前纪录,填充到数组$arr; 
  120.  
  121. $arr= mssql_fetch_row($rresult); 
  122.  
  123. if($arr
  124.  
  125.  
  126. //循环显示当前纪录的所有字段值 
  127.  
  128. for($nOffSet = 0;$nOffSet < count($arr);$nOffSet++) 
  129.  
  130.  
  131. echo ""
  132.  
  133.  
  134.  
  135. echo ""
  136.  
  137.  
  138.  
  139. ?>  
  140.  
  141. <table align="center" width="80%" border="1" cellspacing="0" cellpadding="4" bordercolorlight="#CC9966" bgcolor="#00F2EE" bordercolordark="#FFFFFF" class="LZH"
  142.  
  143. <tbody><tr bgcolor="#F7F2ff" style="font-size:14.8px;font-weight:bold"><td>".mssql_field_name($rresult,$iCnt)."</td></tr><tr style="/"font-size:12px/""><td>".$arr[$nOffSet]."</td></tr></tbody></table> 
  144.  
  145. <br> 
  146.  
  147. <hr size="1" width="80%"
  148.  
  149. <div align="center" style="font-size:12px"
  150.  
  151. <? 
  152.  
  153. //首页和上一页的链接 
  154.  
  155. if$nNumRows>1 && $page>1) 
  156.  
  157.  
  158. $prevPage=$page-1;  
  159.  
  160. echo " <a href=".$PHP_SELF." ?page="1">首页</a> ";  
  161.  
  162. echo " <a href=".$PHP_SELF." ?page=".$prevPage.">上一页</a> "
  163.  
  164.  
  165. //下一页和末页的链接 
  166.  
  167. if$page>=1 && $page<$MaxPage
  168.  
  169.  
  170. $nextPage$page+1; 
  171.  
  172. echo " <a href=".$PHP_SELF." ?page=".$nextPage.">下一页</a> "
  173.  
  174. echo " <a href=".$PHP_SELF." ?page=".$MaxPage.">末页</a> ";  
  175.  
  176.  
  177. ?>  
  178.  
  179. </div> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表