页面在输出查询条件后,点击查询,提交from,根据条件显示数据并且分页,
现有那种不需要输出查询条件的分页函数,点击 1 2 3 这些页码的a标签没什么反应,是不是应该在加载页面的时候就开始查询SQL?
但是加载页面的时候查询条件是空的。
咋整?
在php里面的逻辑这么写,伪代码如下(代码不能直接复用,逻辑应该就是这样的,当然 你也可以贴出来后端的代码)
.
.
.
// 这里是提交的数据 $data
$sql = 'slect * from table ';
// 假设每一页的数据有10条
if($data['page']){
$sql .= 'limit ' . ($data['page']-1)*10 . ',' . $size; // 这样sql : select * from table limie 0,10 或者select * from table limie 10,10
}
.
.
.
1、分页查询与请求方式无关,post和get都能请求并带查询条件
2、看下以下逻辑思路:
a、当点击表单查询时,调用getPageList方法,默认第一页,查询条件params数据带上,根据php接口返回数据渲染列表
b、当点击1,2,3时,调用getPageList方法,将页数传上,查询条件params自己获取当前表单value值带上,根据php接口返回数据渲染列表
// 获取分页接口js方法【需自改】
function getPageList(page = 1, params)
{
$.ajax({
type: 'post',
data: {
page: page,
name: params.name, // 查询条件1
startDate: params.startDate, // 查询条件2
endDate: params.endDate, // 查询条件3
},
url:'paginator.php',
success:function(data){
//请求成功渲染列表
},
error:function(jqXHR){
//请求失败函数内容
}
})
}
用同一个where来做,条件空输出所有数据,条件非空按信息输出,limt进行分页。
1.ajax分页能很好解决这个问题,但是毕竟麻烦
2.一般的分页类都已经做好了会在当然url再加上分页的页码了,不用自己做判断,所以你的条件表单直接用GET方式提交就行了,别用POST