根据页数计算$LimitEndNum
select top $Limit * from (select top $Limit * from (select top $LimitEndNum * from table order by id desc) a order by id asc) b order by id desc

解决方案 »

  1.   

    select top $limit .....
    是从开始记录读取 $limit 条记录,
    怎样实现从中间记录读取呢?根据页数计算$LimitEndNum
    select top $Limit * from (select top $Limit * from (select top $LimitEndNum * from table order by id desc) a order by id asc) b order by id desc再多嵌套几个 select top 都没法实现从中间读取一段记录!!!!!!!
      

  2.   

    //实现分页模块
    //每页显示的记录数
    $gPageSize=15; 
    $query = "select * from news_news order by ID DESC";
    //执行查询语句
    $rresult = mssql_query($query) or die("无法执行SQL:$query");//$page变量标示当前显示的页if(!isset($page)) $page=1;if($page==0) $page=1;//得到当前查询到的纪录数 $nNumRowsif(($nNumRows= mssql_num_rows($rresult))<=0){exit;};//得到最大页码数MaxPage$MaxPage = (int)ceil($nNumRows/$gPageSize);if((int)$page > $MaxPage)$page=$maxPage;echo "<font size=2>&nbsp;共有";echo $nNumRows;echo "条记录,每页显示";echo "15条,共";echo $MaxPage;echo "页,当前第";echo $page;echo "页</font>"; 
    //顶部分页显示              
    echo "<div align=right><font size=2>";//首页和上一页的链接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> "; }echo "</font></div>";//========================================================================//根据偏移量($page - 1)*$gPageSize,运用mssql_data_seek函数得到要显示的页面if( mssql_data_seek($rresult,($page-1)*$gPageSize) ){ $i=0;//循环显示当前纪录集for($i;$i<$gPageSize;$i++){//得到当前纪录,填充到数组$arr;$arr= mssql_fetch_array($rresult);if($arr){
    ?>
    在此加入表格代码,循环列出每条信息
    <?php
    }}}//=============================================================================//底部分页显示
    ?>
    <tr> 
        <td>&nbsp;</td>
        <td><div align=right><font size="2">
    <?php//首页和上一页的链接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> "; }
    ?>
      

  3.   

    raid79(山鹰) 有料道!!!
    以上程序我仔细看了一下,应该没有问题!
    太感谢了!!!
    我就是怕要把查询记录全部读到数组中,再通过访问数组下标实现分页,(数组还要用全程变量或开 session,)那就痛苦了 !!
    想不到还有一个 mssql_date_seek 函数,实在是太好了。!!
    可以再请教一下,如果是用odbc连接ms sql,改如何实现以上功能?