thinkphp 带检索参数分页

Posted 河在谈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp 带检索参数分页相关的知识,希望对你有一定的参考价值。

模板文件中,提交搜索内容要用get方法,同时设置g、m、c隐藏域。

<form action="{:U(‘Sck/qbscHjsc‘)}" method="get">
    <table class="search-tab">
    <tr>
                    <input type="hidden" name="g" value="<?php echo MODULE_NAME; ?>">
                    <input type="hidden" name="m" value="<?php echo CONTROLLER_NAME; ?>">
                    <input type="hidden" name="a" value="<?php echo ACTION_NAME; ?>">
                    <th width="120">素材名称:</th>
        <td>
        <input class="common-text" name="mingcheng" size="20" value="" type="text">
        </td>

 

controller中处理

// 素材库 环境素材检索
public function qbscHjsc(){

    $where = ‘ fenxiang=1 ‘;
    // 查询参数
    if(I(‘request.leixing‘)!=‘‘){
        if(I(‘request.mingcheng‘) != ‘‘){
            $where .= ‘ and mingcheng like \‘%‘.I(‘request.mingcheng‘).‘%\‘ ‘;
        }
    } 

    ...

    $sck_model=M("Kczz_sck");
    
    $count=$sck_model->where($where)->count();
    $page = $this->page($count, 10);

    $list = $sck_model
    ->where($where)
    ->order("id desc")
    ->limit($page->firstRow . ‘,‘ . $page->listRows)
    ->select();

    $this->assign(‘list‘, $list);
    $this->assign(‘page‘, $page->show(‘Admin‘));

    $this->display();
}

 

如果是前台的controller,需要自己导入page类

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function sck(){

        $where = ‘ fenxiang=1 ‘;
        // 查询参数
        if(I(‘request.leixing‘)!=‘‘){
            if(I(‘request.mingcheng‘) != ‘‘){
                $where .= ‘ and mingcheng like \‘%‘.I(‘request.mingcheng‘).‘%\‘ ‘;
            }
        } 

        ...

        $sck_model=M("Kczz_sck");
        import(‘ORG.Util.Page‘);    // 导入分页类

        $count=$sck_model->where($where)->count();
            $Page = new \Think\Page($count,5);
        $show = $Page->show();    // 分页显示输出

        $list = $sck_model
        ->where($where)
        ->order("id desc")
        ->limit($Page->firstRow . ‘,‘ . $Page->listRows)
        ->select();

        $this->assign(‘list‘, $list);
        $this->assign(‘page‘, $show);

        $this->display();
    }
}

 

模板处翻页代码

<div class="list-page"> {$page}</div>

 

以上是关于thinkphp 带检索参数分页的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp分页参数带空格的问题

thinkphp5 分页带参数的解决办法

thinkphp分页+条件查询

thinkphp5 分页问题

thinkphp6 分页 url额外参数无效的解决办法

ThinkPHP,page,paginate后台分页翻页时保留检索条件的方法