如何在CakePHP中实现搜索分页

时间:2015-05-30 06:20:55

标签: cakephp pagination cakephp-2.0

我的分页工作正常,即使搜索工作也正常。但我遇到的问题是当我点击分页链接中的下一页链接时。搜索不适用于分页的下一页。此外,我需要知道如何通过URL发送其他参数,并在查询分页时使用它们。我需要帮助,因为我是 CakePHP 的新手。

在控制器页面中,我使用了以下代码:

class StatesController extends AppController {

    public $components = array('Paginator');

    public $paginate = array(
        'limit' => 2,
        'fields' => array('State.id', 'State.state','State.code'),
        'order' => array(
            'State.state' => 'asc'
        )
    );

    public function admin_index() {
        $this->layout = false;
        $this->layout = 'adminlayout';

        //****** pagination starts 

        $search=$this->request->data('State.search');

        $this->Paginator->settings = $this->paginate;
        // similar to findAll(), but fetches paged results
        $stateListAr = $this->Paginator->paginate('State',
            array('State.state LIKE' => "%".$search."%")
        );
        $this->set('stateListAr', $stateListAr);

        //****** pagination ends 

        $this->set('stateListAr',$stateListAr);
        $this->render('admin_index');   
    }
}

在视图页面中,我使用了以下代码:

<?php echo $this->Paginator->prev('« Previous', null, null, array('class' => 'disabled')); ?>
<?php echo $this->Paginator->numbers(array('first' => 'First page')); ?>                  
<?php echo $this->Paginator->next('Next »', null, null, array('class' => 'disabled')); ?> 

1 个答案:

答案 0 :(得分:0)

我已经解决了我的问题,在这里。我在视图页面中使用了代码,这里$ search变量我已经从控制器设置了数据。     $搜索);     $这 - &GT; Paginator-&gt;选项(阵列(                 'url'=&gt; $ urlParamAr                 ));     echo $ this-&gt; Paginator-&gt; prev('«Previous',null,null,array('class'=&gt;'disabled'));

 echo $this->Paginator->numbers(array('first' => 'First page'));

echo $ this-&gt; Paginator-&gt; next('Next»',null,null,array('class'=&gt;'disabled'));

?>