Hello,

I've implemented a user model and I have a simple search form for
searching by gender, age, location. I'm using the paginator to
paginate the results. The problem is that it's only remembering the
search criteria on the first page. When I click on page 2, or next
etc.. It defaults back to searching all users.

Here's my dirty search code in my controller, basically it just checks
the submitted form fields and does a query on the matching field in
the Users table and then paginates the results:

if (!empty($this->data)) {
    // by name
    if (!empty($this->data['User']['search_name'])) {
        $this->paginate = array('conditions' => array('visible'=>1,
'OR'=>array(
                'User.username LIKE' => 
'%'.$this->data['User']['search_name'].'%',
                'User.firstname LIKE' => '%'.$this->data['User']['search_name'],
                'User.lastname LIKE' => '%'.$this->data['User']['search_name'])
                 ), 'limit'=>'10', 'order'=>'User.username');
   }
   // by gender
   else if (!empty($this->data['User']['search_gender'])) {
        $this->paginate = array('conditions' => array(
                'visible'=>1,
                'User.gender' => $this->data['User']['search_gender']
                ), 'limit'=>'10', 'order'=>'User.username');
  }
  // by state
  else if (!empty($this->data['User']['search_state'])) {
        $this->paginate = array('conditions' => array(
                'visible'=>1,
                'User.state' => $this->data['User']['search_state']
                ), 'limit'=>'10', 'order'=>'User.username');
  }

   // Send the results for the above criteria to the view
   $results = $this->paginate('User');
   $this->set('users', $results);

     }
     // Default retrieval of all users
    else {
        $this->paginate = array('conditions'=>array('visible'=>1),
'limit'=>'10', 'order'=>'User.username');
        $this->set('users', $this->paginate('User'));
        }

I'm trying to figure out how to make subsequent pages of the
pagination remember my search criteria. Thanks for any help.

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to