2015-05-30 3 views
1

Моя разбивка на страницы работает, даже поиск также работает. Но проблема, с которой я столкнулась, - это когда я нажимаю ссылку следующей страницы в ссылках на страницы. Поиск не работает для следующей страницы разбивки на страницы. Также мне нужно знать, как отправлять другие параметры через URL-адрес и использовать их в запросе разбивки на страницы. Мне нужна помощь по этому поводу, поскольку я новичок в CakePHP.Как реализовать разбивку на страницы с помощью поиска в 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')); ?> 
+2

Пожалуйста, объясните, что вы имеете в виду, когда говорите, что поиск не работает для следующей страницы разбивки на страницы. Вы имеете в виду, что исходные фильтры поиска теряются? – ChicagoSky

+0

Можете ли вы предоставить либо живой URL-адрес, чтобы посмотреть, что у вас есть до сих пор? Если это невозможно, по крайней мере, отправьте исходный код всего вашего мнения. Также укажите, какие дополнительные параметры вы пытаетесь передать через URL. – McWayWeb

+0

Да @ChicagoSky, оригинальный поиск не работает для следующей страницы разбивки на страницы. Фактически данные должны быть переданы или URL должен содержать данные поиска. Как я должен это делать. – soumikwebdeveloper

ответ

0

я получил решение моей проблемы, вот она. Я использовал страницу просмотра кода, здесь $ search variable я установил данные с контроллера. $ поиск); $ this-> Paginator-> options (array ( 'url' => $ urlParamAr )); echo $ this-> Paginator-> prev ('«Предыдущая», null, null, array (' class '=>' disabled '));

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

эхо $ this-> paginator-> следующая («Next»», NULL, NULL, массив ('класс' => 'отключен'));

?> 
Смежные вопросы