【发布时间】:2019-02-22 04:40:56
【问题描述】:
我有input type = "date",它允许用户选择一个日期范围来运行查询并在表格中显示。但是,当我从 pagination 中单击 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 学习者。
【问题讨论】:
-
如果你是分页,最好使用GET方法,这样搜索因素就会在url中。
-
@Rafee 我可以知道如何修改我的代码以使用 get 方法吗?
-
formget.com/pagination-in-codeigniter 在 google 中查找更多示例。
标签: php html codeigniter pagination