• 回归后端分页本质,理清后端分页思路


        采用后端分页的方式不管用了什么插件或者框架,回归本质,底层还是sql。这里提供mysql 和 SQL Server 分页sql 实现。

    分页需要的知道的几个参数:

        当前页

        一页多少行

        总记录数

        总页数

    上面的4个参数可以先自己定义默认值,但是总记录数和总行数需要查询数据库之后计算

    Php+mysql:

       $pageNow = 1;//当前页
        $pageSize = 5;//一页多少行
        $lineCount = 0;//总记录书
        $pageCount = 0;//总页数
        
        //从get请求中获取前端需要请求的当前页
        if(isset($_GET['pageNow'])){
            $pageNow = $_GET['pageNow'];
        }
        
        //统计总记录数
        $sql = "select count(*) as count from table_test";
        //执行查询
        $res=$conn->query($sql);
        while($row=$res->fetch_assoc()){
            $lineCount = $row['count'];
        }
        //向上取整,统计总页数
        $pageCount = ceil($lineCount/$pageSize);
        
        //动态生成sql
        $sql = "select * from table_test limit ".($pageNow-1) * $pageSize.", $pageSize";
      //下面的部分省略,执行查询即可

     

    Php + SQL Server2008R2:

      如果不知道php怎么连接sql server 可以参考这篇博客

       $lineCount = 0;//总行数
    
        $pageSize = 15;//一页多少行
    
        $pageNow = 1;//当前页
    
        $pageCount = 0;//一共多少页页数 = 总行数 / 一行多少页并且向上取整
    
        if(isset($_GET['pageNow'])){
    
            $pageNow = $_GET['pageNow'];
    
        }
    
        //查询总行数
    
        $sql = "select count(*) as num from writeCard";
    
        $result = odbc_do($conn, $sql);
    
        if(odbc_fetch_row($result)){
    
            $lineCount = odbc_result($result, "num");
    
        }
    
        //算出总页数
    
        $pageCount = ceil($lineCount / $pageSize);
    
        $stratIndex = ($pageNow-1)*$pageSize + 1;
    
        $endIndex = $stratIndex + $pageSize ;
    
        $sql = "select * from (select *,ROW_NUMBER() over(order by convert(bigint,CardOutnerID) asc) as num from writeCard) as temp where temp.num >= ". stratIndex." and temp.num <". endIndex;
    
      //下面的部分省略,执行查询即可
  • 相关阅读:
    live555源码研究(三)------UsageEnvironment类
    live555源码研究(二)------TaskScheduler类
    live555源码研究(一)------live555MediaServer的启动过程和基本类图
    (转)视频监控相关文章
    【流媒體】live555—VS2008 下live555编译、使用及测试
    【转】PostgreSQL IP地址访问配置
    red5研究(一):下载,工程建立、oflaDemo安装、demo测试
    SVN服务器的搭建和使用
    【转】linux下cvs配置
    【转】js正则表达式语法
  • 原文地址:https://www.cnblogs.com/makalochen/p/11956601.html
Copyright © 2020-2023  润新知