2012-04-15 12 views
0

Bitte helfen Sie mir, wie Seitenumbruch im Suchergebnis zu machen, habe ich ein paar Fragen hier, aber ich kann immer noch nicht verstehen.Paginierung + Suche in CakePHP

das ist, was ich tun will,

Benutzer füllen die Eingabe von Such dann zeigen System das Ergebnis in Paginierung

wenn Benutzer klicken Sie auf Paginierung Link, damit das System Umzug in das Ziel Paginierung ohne lose jede Informationen zur Sucheingabe

ich fand Informationen, dass die Suchkriterien in Sitzung gespeichert, aber ich weiß nicht, wie man es macht.

Ich verbrachte zwei Tage, um es zu machen, aber immer noch kein Ergebnis.

Antwort

2
$search_keyword = $value_you_get_from_search_field || ''; 
$this->paginate = array(
    .... 
    'conditions' => array(
     'YOURMODEL.field LIKE' => '%' . $search_keyword . '%', // this condition will check for search value to corresponding field you want 
     ..... 
    ) 
); 

$search_results = $this->paginate(); // search result will contain query for your search with pagination 

Um den Wert für das Suchfeld halten Sie den Feldwert setzen müssen, wie folgt zu lesen:

$this->set(compact('search_results', 'search_keyword')); 

Und Sie haben Sie Feld zu entwerfen wie folgt suchen:

$this->Form->input('fieldname', array('type' => ...., 'value' => $search_keyword, ....)); 

HINWEIS Im Eingabefeld habe ich die Eigenschaft value als $search_keyword festgelegt, die vom Controller gesendet wurde. Anfangs ist es ";

0

Sie sollten wirklich das Suchplugin schauen Sie in: https://github.com/dereuromark/search

es Ihnen diese Funktionalität bereitstellt, ohne dass Sie das Rad neu erfinden zu müssen. es verwendet auch "Best Practice" Ansätze wie PRG und leicht erweiterbare Suchkonfiguration für LIKE etc.