当前位置:首页 > PHP教程 > php分页 > 列表

PHP MSSQL 分页实例

发布:smiling 来源: PHP粉丝网  添加日期:2019-09-29 17:10:54 浏览: 评论:0 

本文实例为大家分享了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",$link) or 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.  
  35. $pagesize="30"; 
  36.  
  37.   
  38.  
  39. //$sql=mysql_query($sqlstr); 
  40.  
  41.   
  42.  
  43. //$totalnum=mysql_num_rows($sql); 
  44.  
  45.   
  46.  
  47. $sql=mssql_query($sqlstrcount); 
  48.  
  49.   
  50.  
  51. list($totalnum)=mssql_fetch_row($sql); 
  52.  
  53.   
  54.  
  55. $pagecount=ceil($totalnum/$pagesize); 
  56.  
  57.   
  58.  
  59. $offset=($page-1)*$pagesize; 
  60.  
  61.   
  62.  
  63. $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"; 
  64.  
  65.   
  66.  
  67. $sql=mssql_query($sqlstr); 
  68.  
  69.   
  70.  
  71. $result=""; 
  72.  
  73. while($result=mssql_fetch_array($sql)){ 
  74.  
  75.  echo $result["id"].'<br>'; 
  76.  
  77. } 
  78.  
  79.   
  80.  
  81. showpageinfo2($totalnum,$pagecount,$page,"&z=".$z); 
  82.  
  83. mssql_Close($link); 
  84.  
  85.   
  86.  
  87. function showpageinfo2($totalnum,$pagecount,$page,$filster) 
  88.  
  89. { 
  90.  
  91.  echo "共计: $totalnum 条记录,共 $pagecount 页,当前是第 $page 页 "; 
  92.  
  93.   
  94.  
  95.  if($page!=1) 
  96.  
  97.  { 
  98.  
  99.  echo "<a href="?page=1$filster">首页</a> "; 
  100.  
  101.  echo "<a href="?page=".($page-1)."$filster">上一页</a> "; 
  102.  
  103.  } 
  104.  
  105.   
  106.  
  107.  if($page<$pagecount) 
  108.  
  109.  { 
  110.  
  111.  echo "<a href="?page=".($page+1)."$filster">下一页</a> "; 
  112.  
  113.  echo "<a href="?page=$pagecount$filster">尾页</a>  "; 
  114.  
  115.  } 
  116. //phpfensi.com 
  117.  
  118. } 
  119.  
  120. ?> 

下面为大家分享了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,$dbpasswd) or die("无法连接数据库服务器!"); 
  44.  
  45. $db = mssql_select_db("phmis04",$id) or 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($query) or 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.  
  67. echo "<p align="center">没有纪录"; 
  68.  
  69. exit; 
  70.  
  71. }; 
  72.  
  73. //得到最大页码数MaxPage 
  74.  
  75. $MaxPage = (int)ceil($nNumRows/$gPageSize); 
  76.  
  77. if((int)$page > $MaxPage) 
  78.  
  79. $page=$maxPage; 
  80.  
  81. ?>  
  82.  
  83. </p><table align="center" width="80%" border="0"> <tbody><tr><td> <? echo "<font size="2">第  
  84.  
  85. $page 页,共 $MaxPage 页</font>";?> </td><td></td></tr></tbody></table> 
  86.  
  87.   
  88.  
  89. <? 
  90.  
  91. //显示表格头 
  92.  
  93. for($iCnt = 0; $iCnt < mssql_num_fields($rresult); $iCnt++) 
  94.  
  95. { 
  96.  
  97. echo "" ; 
  98.  
  99. } 
  100.  
  101. ?>  
  102.  
  103.   
  104.  
  105. <? 
  106.  
  107. //根据偏移量($page - 1)*$gPageSize,运用mssql_data_seek函数得到要显示的页面 
  108.  
  109. if( mssql_data_seek($rresult,($page-1)*$gPageSize) ) 
  110.  
  111. {  
  112.  
  113. $i=0; 
  114.  
  115. //循环显示当前纪录集 
  116.  
  117. for($i;$i<$gPageSize;$i++) 
  118.  
  119. { 
  120.  
  121. echo ""; 
  122.  
  123. //得到当前纪录,填充到数组$arr; 
  124.  
  125. $arr= mssql_fetch_row($rresult); 
  126.  
  127. if($arr) 
  128.  
  129. { 
  130.  
  131. //循环显示当前纪录的所有字段值 
  132.  
  133. for($nOffSet = 0;$nOffSet < count($arr);$nOffSet++) 
  134.  
  135. { 
  136.  
  137. echo ""; 
  138.  
  139. } 
  140.  
  141. } 
  142.  
  143. echo ""; 
  144.  
  145. } 
  146.  
  147. } 
  148.  
  149. ?>  
  150.  
  151. <table align="center" width="80%" border="1" cellspacing="0" cellpadding="4" bordercolorlight="#CC9966" bgcolor="#00F2EE" bordercolordark="#FFFFFF" class="LZH"> 
  152.  
  153. <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> 
  154.  
  155. <br> 
  156.  
  157. <hr size="1" width="80%"> 
  158.  
  159. <div align="center" style="font-size:12px"> 
  160.  
  161. <? 
  162.  
  163. //首页和上一页的链接 
  164.  
  165. if( $nNumRows>1 && $page>1) 
  166.  
  167. { 
  168.  
  169. $prevPage=$page-1;  
  170.  
  171. echo " <a href=".$PHP_SELF." ?page="1">首页</a> ";  
  172.  
  173. echo " <a href=".$PHP_SELF." ?page=".$prevPage.">上一页</a> "; 
  174.  
  175. } 
  176.  
  177. //下一页和末页的链接 
  178.  
  179. if( $page>=1 && $page<$MaxPage) 
  180.  
  181. { 
  182.  
  183. $nextPage= $page+1; 
  184.  
  185. echo " <a href=".$PHP_SELF." ?page=".$nextPage.">下一页</a> "; 
  186.  
  187. echo " <a href=".$PHP_SELF." ?page=".$MaxPage.">末页</a> ";  
  188.  
  189. } 
  190.  
  191. ?>  
  192.  
  193. </div> 

Tags: PHP MSSQL 分页实例

分享到: