2012-04-15 103 views
0

請幫助我如何在搜索結果中進行分頁,我在這裏發現了一些問題,但我仍然無法理解。分頁+在cakephp中搜索

這是我想做的事情,

用戶填寫輸入搜索後系統顯示的結果分頁

如果分頁鏈接的用戶點擊,以便系統移動到 目標分頁沒有丟失任何關於搜索輸入的信息。

我發現信息,搜索條件保存在會話中,但我不知道如何做到這一點。

我花了兩天時間,但仍然沒有結果。

回答

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 

要保持價值爲搜索字段,你必須設置字段值,查看類似以下內容:

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

而且你要設計你搜索領域像以下:

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

通知在輸入字段中,我將value屬性設置爲$search_keyword,該屬性已從控制器發送。最初它是'';

0

你真的應該考慮的搜索插件: https://github.com/dereuromark/search

它爲您提供了此功能,您無需推倒重來。 它也使用像PRG這樣的「最佳實踐」方法,以及LIKE等易於擴展的搜索配置。