php如何实现安条件查询的分页

img

页面在输出查询条件后,点击查询,提交from,根据条件显示数据并且分页,

现有那种不需要输出查询条件的分页函数,点击 1 2 3 这些页码的a标签没什么反应,是不是应该在加载页面的时候就开始查询SQL?

但是加载页面的时候查询条件是空的。

咋整?

在php里面的逻辑这么写,伪代码如下(代码不能直接复用,逻辑应该就是这样的,当然 你也可以贴出来后端的代码)

.
.
.
// 这里是提交的数据 $data
$sql = 'slect * from table '// 假设每一页的数据有10if($data['page']){
  $sql .= 'limit ' . ($data['page']-1)*10 . ',' . $size;   // 这样sql : select * from table limie 010 或者select * from table limie 1010
}

.
.
.

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