html页面
定义分页所需变量,分别包含当前页码,每页个数,总页数
let js_page=1;//从第一页开始
let js_pagesize=10;//默认一页展示10个
let js_total=0;//总页数
两个按钮上一页下一页
<button onclick="f_prePage()">上一页</button>
<button onclick="f_nextPage()">下一页</button>
总共:<span id="maxpagenum"></span>页
按钮点击事件:
//以下两个函数是分页用函数20210313@niuwenda
function f_prePage(){
if(js_page==1){
alert("已经到达第一页");
return;
}
js_page=js_page-1;
$(".page_num")[0].innerHTML = js_page;
searchColl();
}
function f_nextPage(){
if(js_page==js_total){
alert("已经到达最后一页");
return;
}
js_page=js_page+1;
$(".page_num")[0].innerHTML = js_page;
searchColl();
}
ajax传递参数:js_page,js_pagesize
后端SQL
这里要注意转换为int类型,以python语法为例
参数一 = int(page) * int(pagesize) - int(pagesize)
参数二 = int(pagesize)
select XXX from XXX where XXX order by XXX offset 参数一 rows fetch next 参数二 rows only
参数含义解释:
参数一是跳过前几行,参数二是一页展示几个,也就是我要是想查询6到10行的数据,即:参数一=5参数二=10
写一个总页数返回给前端
#获取数据总数量
int count = select count(*) from XXX where XXX order by XXX
#获取页数,注意这里要向上取整
total=count/pagesize;
返回数据之后更新总页数
js_total=res.total;//一共有几页
$("#maxpagenum").html(js_total);//给总页数赋值