SqlServer分页包含前后端

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);//给总页数赋值

Guess you like

Origin blog.csdn.net/Funky_oaNiu/article/details/114743887