Pagination CakePHP搜索分页问题,将值丢失到下一页
我有这种看法Pagination CakePHP搜索分页问题,将值丢失到下一页,pagination,cakephp-1.3,Pagination,Cakephp 1.3,我有这种看法 ?php echo $this->Form->create('Search', array('id' => 'Search', 'url' => array('controller' => 'mycontroller', 'action' => 'index'))); ?> <?php echo $this->Form->input('usuario_id', array('label' => __('Vended
?php echo $this->Form->create('Search', array('id' => 'Search', 'url' => array('controller' => 'mycontroller', 'action' => 'index'))); ?>
<?php echo $this->Form->input('usuario_id', array('label' => __('Vendedores', true), 'options' => $vendedores, 'empty' => true)); ?>
<?php echo $this->Form->input('cliente_id', array('label' => __('Cliente', true), 'options' => $clientes, 'empty' => true)); ?>
<?php echo $this->Location->estados(); ?>
<?php echo $this->Location->municipios(); ?>
<?php echo $this->Location->bairros(); ?>
<?php echo $this->Form->input('equipe_id', array('label' => __('Equipe', true), 'options' => $equipe, 'empty' => true)); ?>
<?php echo $this->Form->input('veiculo_id', array('label' => __('Modelo', true), 'options' => $veiculos, 'empty' => true)); ?>
<?php echo $this->Form->input('status', array('label' => __('Status', true), 'options' => $status, 'empty' => true,'multiple' => true )); ?>
<?php echo $this->Utils->data('date_from', array('input' => array('label' => 'De'))); ?>
<?php echo $this->Utils->data('date_to', array('input' => array('label' => 'a'))); ?>
<?php echo $this->Form->hidden('Search.search'); ?>
<?php echo $this->Form->end('Buscar'); ?>
所有搜索字段都可以正常工作,在1页中也可以,但当我分页到2页时,值被清除。
如你们所见,我在表单上使用post方法,
因此,使用此场景,如何确保在分页时不会丢失值
提前感谢 这里有一件你可以做的简单事情
if(isset($this->data[<some variable>])){
if(!empty($this->data[<some variable>])){
$keyword = trim($this->data[<some variable>]);
$this->redirect('/controller/action/keyword:'.$keyword.));
}
}elseif(isset($this->params['named']['keyword'])){
if(!empty($this->params['named']['keyword'])){
$keyword =$this->params['named']['keyword'];
$this->paginate['conditions'] = array("ModelName.Fieldname LIKE" => "%$keyword%");
}
}
这是一种最好且简单的方法4维护分页值,您可以拥有更多
在参数中有多个关键字,可以在条件后置词中使用。这里有一件简单的事情你可以做
if(isset($this->data[<some variable>])){
if(!empty($this->data[<some variable>])){
$keyword = trim($this->data[<some variable>]);
$this->redirect('/controller/action/keyword:'.$keyword.));
}
}elseif(isset($this->params['named']['keyword'])){
if(!empty($this->params['named']['keyword'])){
$keyword =$this->params['named']['keyword'];
$this->paginate['conditions'] = array("ModelName.Fieldname LIKE" => "%$keyword%");
}
}
这是一种最好且简单的方法4维护分页值,您可以拥有更多
参数中有多个关键字,可以在条件后置词中使用。这并不能解决这个问题。这些值在第一页中不存在。这不能解决问题。这些值在第一页中不存在。