----------------------1------------------------------------------
分页公式:int total = (int) Math.ceil((总条数+每页显示数-1)/每页显示数);
如:总条数13,每页显示3
int total = (int) Math.ceil((13+3-1)/3);
分页序号计算公式:(当前页-1)*每页条数+1----> 做第一个编号 然后循环+1;
如: 假设每页显示6条;
第一页: (1-1)*6+1 =1 从1开始循环 一直+1到6;
第二页: (2-1)*6+1 =7 从2开始循环 一直+1到6;
------------------------2-------------------------------------------------
总页数=(总记录数+每页显示数-1)/每页显示数
------------------------3--------------------------------------------------
例:
内容总数量为:totalCount
每页加载数量为:loadCount
所求总页数为:totalPage
第一种算法:
totalPage = totalCount% loadCount== 0 ? totalCount/ loadCount : totalCount/ loadCount+ 1 ;
第二种算法:(简便,推荐)
totalPage = (totalCount+ loadCount-1) / loadCount;
其中 loadCount- 1 就是 totalCount/ loadCount的最大的余数
-----------------------4----------------------------------------
php中计算总页数
假设数据1005条 每10条一页
开始用的计算方式是 总页数= intval(总数/每页数量) 结果发生总少一页
正确方式是:总页数= ceil(总数/每页数量) Pages = ceil(1005/10);
layer ajax分页实现:[代码片段]
console.log(curr);
//分页序号:(当前页-1)*每页条数+1
exam_no = ((curr ? curr : 1) - 1) * 3 + 1; //关键
$.ajax({
type: "GET",
url: "./ajaxPage.php",
data: {
page: curr || 1, //向服务端传的参数
do: 'act'
},
function str_temp(arr) {
var str = "";
$.each(arr, function (i, item) {
// str += "<li onclick='getExamId(this.id)' id='sel_id" + item.id + "' exam_id=\"" + item.id + "\">" + item.text + "</li>";
str += "<li onclick='getExamId(this.id)' id='" + item.id + "' exam_id=\"" + item.id + "\">" + (i+exam_no) + item.text + "</li>";
});
return str;
}
官网:http://www.layui.com/laypage/