问题描述: Thinkphp5.0中 浏览器中搜索后,在后台控制器 获取数据后,展示到模板进行分页展示,当点击下一页时,查询内容变为了 查询所有!! 不是在希望的查询结果中 的下一页

如何解决?
paginate() 参数了解不透彻.贴出部分代码,希望帮助到你

控制器代码:

public function manager_list()
{
    //实例化Request 类
    $data = Request::instance();
    //判断搜索条件是否存在
    if ($data->param('manager_search')!='') {
        // 获取搜索条件
        $key = $data->param('manager_search');
        //存在的查询结果
        $list = managermodel::order('id')->where('username', 'LIKE', '%' . $key . '%')->whereOr('nickname', 'LIKE', '%' . $key . '%')->paginate(5,false,['query'=>request()->param()]);
    } else {
        //不存在的查询
        $list = managermodel::order('id')->paginate(10,false,['query'=>request()->param()]);
    }
    //临时关闭模板
    //$this->view->engine->layout(false);
    return view('manager_list', ['list' => $list]);
}	

html 页面代码:

<!-- search button -->
            <form action="{:url('index')}" method="get" class="form-search">
                <div class="row-fluid" style="text-align: left;">
                    <div class="pull-left span4 unstyled">
                        <p> 商品名称:<input class="input-medium" name="goods_search" type="text" value="{$list.key?:''}"></p>
                    </div>
                </div>
                <button type="submit" class="btn">查找</button>
                <a class="btn btn-primary" href="/admin/goods/goods_add">新增</a>
            </form>

Html中分页代码:

<!-- pagination -->
            <div class="">
                <ul>
                    {$list->render()}
                </ul>
            </div>

其中这段代码很重要!!

paginate(10,false,['query'=>request()->param()]);
    }

更多推荐

关于Thinkphp5 paginate() 方法在模板显示 render()无法显示查询结果中下一页问题