PHP MSSQL 分页实例
本文实例为大家分享了PHP MSSQL可刷新分页实例,具体内容如下:
- <?php
- /*
- '页面说明:
- */
- $link=mssql_connect("MYSQL2005","sa","123456") or die("db link error!".mssql_error());
- mssql_select_db("edu_dzk",$link) or die("db open error!".mssql_error());
- //mssql_query("set names 'utf8'");
- $sqlstrcount="SELECT count(1) FROM reguser";
- $page = $_GET["page"];
- if(!is_numeric($page)){
- $page="1";
- }
- $pagesize="30";
- //$sql=mysql_query($sqlstr);
- //$totalnum=mysql_num_rows($sql);
- $sql=mssql_query($sqlstrcount);
- list($totalnum)=mssql_fetch_row($sql);
- $pagecount=ceil($totalnum/$pagesize);
- $offset=($page-1)*$pagesize;
- $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";
- $sql=mssql_query($sqlstr);
- $result="";
- while($result=mssql_fetch_array($sql)){
- echo $result["id"].'<br>';
- }
- showpageinfo2($totalnum,$pagecount,$page,"&z=".$z);
- mssql_Close($link);
- function showpageinfo2($totalnum,$pagecount,$page,$filster)
- {
- echo "共计: $totalnum 条记录,共 $pagecount 页,当前是第 $page 页 ";
- if($page!=1)
- {
- echo "<a href="?page=1$filster">首页</a> ";
- echo "<a href="?page=".($page-1)."$filster">上一页</a> ";
- }
- if($page<$pagecount)
- {
- echo "<a href="?page=".($page+1)."$filster">下一页</a> ";
- echo "<a href="?page=$pagecount$filster">尾页</a> ";
- }
- //phpfensi.com
- }
- ?>
下面为大家分享了PHP+MSSQL通用分页公式,供大家参考,具体内容如下:
- <?php
- //phpinfo();
- //$conn=mssql_connect('192.168.0.3','app','web')or die (mssql_get_last_message());
- //if($conn)
- //{
- //?echo "success";
- //}else{
- //?echo "fail";
- //}
- ?>
- <title>PHP分页</title>
- <?
- $gPageSize= 10; //每页显示的记录数
- $hostname = "."; //MsSQL Server
- $dbuser = "sa"; //用户名
- $dbpasswd = ""; //密码
- //连接数据库
- $id = mssql_connect($hostname,$dbuser,$dbpasswd) or die("无法连接数据库服务器!");
- $db = mssql_select_db("phmis04",$id) or die("无法连接数据库!");
- //以xxx表为例,构建查询字符串
- $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_;
- //执行查询语句
- $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;
- ?>
- </p><table align="center" width="80%" > <tbody><tr><td> <? echo "<font size="2">第
- $page 页,共 $MaxPage 页</font>";?> </td><td></td></tr></tbody></table>
- <?
- //显示表格头
- for($iCnt = 0; $iCnt < mssql_num_fields($rresult); $iCnt++)
- {
- echo "" ;
- }
- ?>
- <?
- //根据偏移量($page - 1)*$gPageSize,运用mssql_data_seek函数得到要显示的页面
- if( mssql_data_seek($rresult,($page-1)*$gPageSize) )
- {
- $i=0;
- //循环显示当前纪录集
- for($i;$i<$gPageSize;$i++)
- {
- echo "";
- //得到当前纪录,填充到数组$arr;
- $arr= mssql_fetch_row($rresult);
- if($arr)
- {
- //循环显示当前纪录的所有字段值
- for($nOffSet = 0;$nOffSet < count($arr);$nOffSet++)
- {
- echo "";
- }
- }
- echo "";
- }
- }
- ?>
- <table align="center" width="80%" cellspacing="0" cellpadding="4" bordercolorlight="#CC9966" bgcolor="#00F2EE" bordercolordark="#FFFFFF" class="LZH">
- <tbody><tr bgcolor="#F7F2ff" ><td>".mssql_field_name($rresult,$iCnt)."</td></tr><tr font-size:12px\""><td>".$arr[$nOffSet]."</td></tr></tbody></table>
- <br>
- <hr size="1" width="80%">
- <div align="center" >
- <?
- //首页和上一页的链接
- 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>