【问题标题】:Cake PHP pagination problemCake PHP 分页问题
【发布时间】:2009-11-11 18:26:21
【问题描述】:

我有一个控制器和视图。 在视图中,它将显示数据库中的所有记录。 在该视图页面的顶部还有按表单搜索。 如果我们指定搜索词并提交表单,视图将只显示该搜索产生的记录。 结果是分页的。 但问题是当我执行搜索并单击结果的下一页时,它将显示所有结果。

这是我的代码。

查看页面 index.ctp

echo $form->create('Apartment', array('action'=>'index'));
echo form->input('searchBy',array('type'=>'select','options'=>array('Id'=>'Id','User'=>'User','time'=>'Updated time')));
echo $form->input('query', array('type'=>'text', 'label'=>'Search Term'));
echo $form->end(array('name'=>'submit', 'label'=>'Search'));


<?php echo $this->element('pagination'); ?>

<th class="actions"><?php __('');?></th>
<th><?php echo $paginator->sort('id');?></th>
<th><?php echo $paginator->sort('Headline');?></th>
<th><?php echo $paginator->sort('Campaign','Campaign.Name');?></th>
<th><?php echo $paginator->sort('User', 'User.name');?></th>
<th><?php echo $paginator->sort('modified');?></th>
<th><?php echo $paginator->sort('status');?></th>
<th class="actions"><?php __('Actions');?></th>

控制器索引函数

if (!empty($this->data)) {
// Search 
switch($this->data['Apartment']['searchBy'])
{
case 'Id':
        $apartments = $this->paginate(NULL, array('Apartment.id' => $this->data['Apartment']['query']));
        break;
case 'User':
    $apartments = $this->paginate(NULL, array("User.name Like '%".$this->data['Apartment']['query']."%'"));
    break
case 'time':
    $apartments = $this->paginate(NULL, array("Apartment.modified Like '%".$this->data['Apartment']['query']."%'"));
    break;
}
}
else {
        $apartments = $this->paginate();
}

【问题讨论】:

    标签: php cakephp pagination


    【解决方案1】:

    解决了这个问题。从AdvancedPagination获取详细信息

    【讨论】:

      【解决方案2】:

      您的视图示例看起来不完整,但我会首先检查以确保您在视图中包含来自 PaginationHelper 的 prevnext 方法,以确保传播搜索条件。

      <?php
          echo $paginator->prev('« Previous ', null, null, array('class' => 'disabled'));
          echo $paginator->next(' Next »', null, null, array('class' => 'disabled'));
      ?> 
      

      另外,我希望您事先对传递给分页器的搜索参数进行了清理。

      【讨论】:

      • 我已经在其中添加了分页元素。 element('分页'); ?>
      猜你喜欢
      • 1970-01-01
      • 2014-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多