Как сохранить строку поиска при использовании нумерации страниц в торте php 4? - PullRequest
0 голосов
/ 07 марта 2020

Я использую торт PHP 4 и хочу разбить поисковый запрос на страницы. У меня есть страница индекса пользователей, и когда я ищу что-то, чьи результирующие данные превышают установленный предел отображения данных. Всякий раз, когда я что-то ищу, я хочу, чтобы строка поиска сохранялась в поле ввода, даже если я перехожу на следующую страницу

public function index(){ 
        $this->conditions = array();
        if($this->session->check('conditions')){
            $this->conditions = $this->session->read('conditions');
        } 
        if ($this->request->is('post')) {
            $data = $this->request->getData();
            if(!empty($data['search_string'])){
                $searchString = trim($data['search_string']);
                if($data['search_by'] == 1){
                    $conditions = array('Users.id LIKE '=> $searchString);
                }elseif($data['search_by'] == 2){
                    $conditions = array('Users.username LIKE '=>'%'.$searchString.'%');
                }elseif($data['search_by'] == 3){
                    $conditions = array('Groups.name LIKE ' => '%'.$searchString.'%');
                }
            } 
            $this->conditions = array ($conditions);
            $this->session->write('conditions',$this->conditions);
            $this->paginate['conditions'] = $this->conditions;
            $this->paginate['contain'] = ['Userdetails','Groups'];
            $this->paginate['limit'] = 8;
            $users = $this->paginate($this->Users);
            $this->set('users',$users);  
        }else{ 
            $this->session->write('conditions',$this->conditions);
            $this->paginate['conditions'] = $this->conditions; 
            $this->paginate['contain'] = ['Userdetails','Groups']; 
            $this->paginate['limit'] = 8; 
            $users = $this->paginate($this->Users);
            $this->set('users',$users);
        }
    }
...