我正在使用这样:
if(!empty($this->request->data['cd_pedido'])){
$this->set('filtroBusca',array('cd_pedido'=>$this->request->data['cd_pedido']));
}else if(!empty($sessaoCdPedido)){
$this->set('filtroBusca',array('cd_pedido'=>$sessaoCdPedido));
}
if(!empty($this->request->data['cd_seq_pedido'])){
$this->set('filtroBusca',array('cd_seq_pedido'=>$this->request->data['cd_seq_pedido']));
}else if(!empty($sessaoCdSeqPedido)){
$this->set('filtroBusca',array('cd_seq_pedido'=>$sessaoCdSeqPedido));
}
当我这样做时:
$this->Session->read('filtroBusca')
或$_SESSION['filtroBusca']
仅显示最后选中的复选框。有人能告诉我我做错了吗?
来自$_SESSION['filtroBusca']
Array
(
[cd_pedido] => 7
)
复选框的图片:
答案 0 :(得分:1)
在第二个'if'条件下设置时,您正在擦除阵列。 您可以考虑使用数组缓冲要放入会话的数据,然后立即将其全部放入:
$filtroBusca = array();
if(!empty($this->request->data['cd_pedido'])){
$filtroBusca['cd_pedido'] = $this->request->data['cd_pedido'];
}else if(!empty($sessaoCdPedido)){
$filtroBusca['cd_pedido'] = sessaoCdPedido;
}
//Do the same thing for the other one
然后将$filtroBusca
放入会话中:
$this->set('filtroBusca',$filtroBusca);