我有input type = "date"
,允许用户选择日期范围来运行查询并显示在表格中。但是,但是,当我从分页中单击Page 2
时,日期值丢失了,查询将不搜索所选择的日期。如何保持查询值运行WHERE
子句。
我的控制器:
public function searchDate()
{
$this->load->library('session');
if ($this->input->post('search')) {
$this->session->set_userdata('search' , $this->input->post('search'));
}
$orders=new ReportModel;
$config["base_url"] = base_url() . "/Report/searchDate";
$config["total_rows"] = $orders->record_count_search();
$config["per_page"] = 150;
$config["uri_segment"] = 3;
$config["num_links"] = 10;
$config['use_page_numbers'] = TRUE;
$config['reuse_query_string'] = TRUE;
$this->pagination->initialize($config);
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data['data']=$orders->get_orders_search($config["per_page"], $page);
$data["links"] = $this->pagination->create_links();
$this->load->view('includes/header');
$this->load->view('estoreReport/list',$data);
$this->load->view('includes/footer');
}
我的观点:
<form class="form-inline" role="search" action="<?php echo base_url('estoreReport/searchDate')?>" method = "post">
<div class="form-group">
<input type="date" class="form-control" placeholder="Order Date From" name = "searchDateFrom" value="<?php echo set_value('searchDateFrom') ?>" >
<input type="date" class="form-control" placeholder="Order Date To" name = "searchDateTo" max="<?php echo date('Y-m-d'); ?>" value="<?php echo set_value('searchDateTo') ?>" >
</div>
<button class="btn btn-default " type="submit" value = "search"><i class="glyphicon glyphicon-search"></i>
</form>
我尝试在控制器中使用session
,但似乎无法正常工作。
$this->load->library('session');
if ($this->input->post('search')) {
$this->session->set_userdata('search' , $this->input->post('search'));
}
请帮助,谢谢。我是一个非常新的CI学习者。
答案 0 :(得分:1)
您可以将cookie用于任务。 Official codeigniter cookie docs
要设置Cookie,请使用:
$cookie= ['name' => 'date',
'value' => $dateValue,
'expire' => '1000',
'secure' => TRUE];
$this->input->set_cookie($cookie);
要获取Cookie,请使用:
$this->input->cookie('date',true);
要删除Cookie,请使用:
delete_cookie('date');
或者更好地使用get request和send date作为参数。
答案 1 :(得分:0)
只需使用GET
而不是POST
,以便您的分页链接上带有您的搜索日期值。
在您的视图中,只需将方法更改为GET
method =“ get”
在获取输入值的模型上,还将方法更改为GET
。