使用thinkphp分页时,怎么保存查询的条件?

使用thinkphp分页时,使用一个表单post查询条件,但是点击下一页的时候查询条件就消失了,怎么保存查询的条件,使点击下一页的时候还是原先的查询条件?... 使用thinkphp分页时,使用一个表单post查询条件,但是点击下一页的时候查询条件就消失了,怎么保存查询的条件,使点击下一页的时候还是原先的查询条件? 展开
 我来答
柚子ok丶
推荐于2018-04-08 · TA获得超过815个赞
知道小有建树答主
回答量:646
采纳率:93%
帮助的人:188万
展开全部

统计和分页查询都加上相同条件就行了:

$count = M('')->where('条件')->count();

$list= M('')->where('条件')->limit(分页)->select();

附上tp手册的条件查询分页方式:

木同生活
2016-11-09 · 技术宅,对待技术十分认真。
木同生活
采纳数:172 获赞数:568

向TA提问 私信TA
展开全部
1 分页的时候,都是GET传递,所以,在点击查询后保存查询的条件,直接用GET在地址栏获取,直接输出就行。
2 查询时传入条件,因为分页的时候,也需要到后台查询数据,所以直接用GET方式接收表单查询条件,作为where条件直接查询即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清友灵0cJ
2016-09-07 · TA获得超过251个赞
知道小有建树答主
回答量:450
采纳率:100%
帮助的人:289万
展开全部
分页一般都通过GET传递参数,TP分页时一般都会带上GET值,你根据GET值去做查询条件,当前也可以使用POST,但在分页点击把做提交,把相应的值POST到服务端,建议用GET方式。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Spring_Hgui
2016-10-11 · 超过24用户采纳过TA的回答
知道答主
回答量:85
采纳率:50%
帮助的人:23万
展开全部

参考下面的栗子

class MsgManageAction extends CommonAction {
    public function index(){
     import('ORG.Util.Page');
  //import调用的是message/ThinkPHP框架目录下的扩展包Extend/Library/ORG/Util/中的Page.class.php类文件
     $count = M('board')->count();
  //调用board库,取出所有数据条数
     $page = new Page($count ,10);
  //实例化Page类,其中第一个参数为显示条数的总数,每次取出十条,也就是下面$page->listRows的值
  $limit = $page->firstRow . ',' . $page->listRows;
  //$page->firstRow为查找的起始条数,默认为0,如果$page->listRows为10,那么第2页的$page->firstRow就为10,以此类推

  $board = M('board')->order('time DESC')->limit($limit)->select();
  //注意,这里较之前的版本添加了->limit($limit)
  $this->board = $board;
  $this->page = $page->show();
  //将$page->show()通过show方法解析$page内容显示并赋值给模板变量,供模板调用

  $this->display();
    }

 Public function delete(){
  $id = I('id','','intval');
  if(M('board')->delete($id)){
   $this->success('删除成功',U('index'));
  }else{
   $this->error('删除失败');
  }
 }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
侠客视界
2016-12-06 · TA获得超过571个赞
知道小有建树答主
回答量:854
采纳率:90%
帮助的人:498万
展开全部
    // 用来获取当前用户的买入订单
    public function TradingList($p = null) {
        $p = intval($p) ? intval($p) : 1;
        $pageSize = 15;
        $offset = ($p - 1) * $pageSize;
        $db = M('rebate_trading');
        $TradingList = $db->where(array('userid' => XAAKE))->order('time')->limit($offset, $pageSize)->select();
        $count = count($db->where(array('userid' => XAAKE))->select());
        $page = new \Think\Page($count, $pageSize);
        $page = $page->show();
        $this->assign('page', $page);
        $this->assign('TradingList', $TradingList);
        $this->pagetitle = '已买入订单';
        $this->display();
    }

上面是没有传递查询参数的
如果 你要传递查询参数的话,请看下述代码

    // 用来获取搜索字段为field的,当前用户的买入订单
    public function TradingList($field = null,$p = null) {
        $field ? $where['field'] = array('eq',$field) : '';
        $where['userid'] = array('eq',XAAKE);
        $p = intval($p) ? intval($p) : 1;
        $pageSize = 15;
        $offset = ($p - 1) * $pageSize;
        $db = M('rebate_trading');
        $TradingList = $db->where($where)->order('time')->limit($offset, $pageSize)->select();
        $count = count($db->where($where)->select());
        $page = new \Think\Page($count, $pageSize);
        $page = $page->show();
        $this->assign('page', $page);
        $this->assign('TradingList', $TradingList);
        $this->pagetitle = '已买入订单';
        $this->display();
    }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式