2014-11-02 2 views
0

Здесь ajax-поиск работает нормально, но проблема в том же самом случае показывает два раза, потому что я дал предел разбивки на страницы 2. Если я делаю это 3, то тот же результат отображается 3 раза ,CakePHP Ajax search: Отображать одинаковые данные два раза для разбивки на страницы

Вот мой index.ctp

$("#search").keyup(function() { 

    var value=$('#search').val(); 

     $.get("<?php echo Router::url(array('controller'=>'userTypes','action'=>'search'));?>",{search:value},function(data){ 
     $('.search_data').html(data); 
    }); 
}) 

Вот мой поиск действия

public function search() 
    { 
     $search=$_GET['search']; 
     $request=$this->UserType->find('all', array(
     'conditions' => array('UserType.name LIKE' => "%$search%") 
     )); 
     $this->set('usertype',$request); 
    } 

Здесь представлен search.ctp

<?php foreach($usertype as $usertypes) { ?> 
    <tr> 
      <td><?php echo $usertypes['UserType']['id']; ?></td> 
      <td><?php echo $usertypes['UserType']['name']; ?></td> 
      <td><?php echo $usertypes['UserType']['description']; ?></td> 

    </tr> 
<?php } ?> 

предел PAGINATION В AppController

parent::beforeFilter(); 
      $this->Paginator->settings = array(
       'limit'=>2 
     ); 

Результат показывает мне, как этот

enter image description here

кто-нибудь может помочь мне для ее решения?

ответ

1

Если вы хотите использовать нумерацию страниц, ваш метод поиска должен выглядеть следующим образом:

public function search() 
{ 
    if(isset($this->request->query['search'])){ 
     $search = $this->request->query['search']; 
    }else{ 
     $search = ''; 
    ) 
    $this->Paginator->settings = array(
     'conditions' => array('UserType.name LIKE' => "%$search%"), 
     'limit' => 2 
    ); 
    )); 
    $this->set('usertype',$this->Paginator->paginate()); 
} 

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

  • Нет связанных вопросов^_^