分页+在cakephp中搜索

时间:2012-04-15 09:47:59

标签: cakephp pagination cakephp-1.3 cakephp-2.1

请帮我如何在搜索结果中进行分页,我在这里发现了一些问题,但我仍然无法理解。

这就是我想做的事,

用户填写输入搜索,然后系统在分页中显示结果

如果用户点击分页链接,系统就会移动到 目标分页,没有任何关于搜索输入的信息。

我发现搜索条件在会话中保存但我不知道如何制作的信息。

我花了两天的时间来做到这一点,但仍然没有结果。

2 个答案:

答案 0 :(得分: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,该属性已从控制器发送。最初是'';

答案 1 :(得分:0)

你应该真正研究一下搜索插件: https://github.com/dereuromark/search

它为您提供此功能,而无需重新发明轮子。 它还使用PRG等“最佳实践”方法,以及LIKE等易于扩展的搜索配置。