test

故事扮演 提交于 2019-12-06 13:54:13

回归后端分页本质,理清后端分页思路--测试

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

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

  1. 当前页
  2. 一页多少行
  3. 总记录数
  4. 总页数

上面的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:

$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;

//下面的部分省略,执行查询即可

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!