后台分页
最近学习layui的表格模块发现表格的page属性开启后并不能分页,在查询后才知道需要后台分好之后传到前台,这只是一个容器而已。在查询资料后选择了row_number()方法实现分页
sqlstr = "select * from (select row_number() over (order by 确诊时间) as rownumber,*from 感染人员表 where 有效否=1)"; sqlstr += "temp_row where rownumber between @curr and @currs";
这条语句需要传入的页码和每页条数,这种方法就是先为查询出的数据进行编号,再通过编号具体查询出该页的数据。基本功能配合上layui是实现了。
有幸最近听了姚老师的课,改善了自己的sql语句,姚老师的通过的方法是top +not in的方式
sqlstr = "select top 10 * from 感染人员表 where Tablekey not in(select top (@curr) Tablekey from 感染人员表 where 有效否=1 order by 确诊时间 ) ; ";
姚老师这条语句是通过先检索当前页之前的数据(包括当前页),在只选择顶部的10条(每页条数)数据。
虽然发现两条sql语句都能实现查询对应页的数据,但配合上模糊检索是第自己写的sql语句好像不能后实现,需要写过一条sql语句,但姚老师的sql语句能够在后面加入
if (xm != "")
{
sqlstr += " and 姓名 like '%"+xm+"%'";
}
if (zjhm != "")
{
sqlstr += " and 身份证号 like '%"+zjhm+"%'";
}