我需要查找特定日期范围内的数据。请帮助我
型号
public function Date($start_date, $end_date){
$query = $this->db->select($this->tables['table_search'])
->where($this->tables['table_search'].'.created_at >=', $start_date)
->where($this->tables['table_search'].'.created_at <=', $end_date)
->group_by($this->tables['table_search'].".created_at")
->get($this->tables['table_search']);
return $query->result_array();
}
Controller
public function Date()
{
$start_date = $_POST['start_date'];
$end_date = $_POST['end_date'];
$return = $this->m_model->Date($start_date,$end_date);
echo json_encode($return);
}
Ajax J'S
$('.input-daterange').datepicker({
todayBtn: 'linked',
format: "yyyy-mm-dd",
autoclose: true
});
函数 fetch_data(start_date='', end_date=''){ var dataTable = $('#table').DataTable({ “处理”:真实, “服务器端”:正确, “命令”:[], “ Ajax ”:{ url: "搜索/日期", 类型:“帖子”, 数据:{ 开始日期:开始日期,结束日期:结束日期 }, 成功:函数(数据){ $('#table').html(数据); } } }); }
$('#search').click(function(){
var start_date = $('#start_date').val();
var end_date = $('#end_date').val();
if(start_date != '' && end_date != ''){
$('#table').DataTable().destroy();
fetch_data(start_date,end_date);
}else{
}
最佳答案
如果您使用服务器端处理,则必须从 Controller 返回正确的 JSON 格式,请参阅 Datatables serverside docs .
这里是客户端:
$('#table').DataTable( { "processing": true, "serverSide": true, "ajax": { "url": "search/Date", "type": "POST" "data": function ( d ) { var start_date = $('#start_date').val(); var end_date = $('#end_date').val(); if(start_date != '' && end_date != ''){ d.start_date = start_date; d.end_date = end_date; } } } } );
一些参数在ajax请求上自动发送,例如分页的开始和长度,请参阅here限制查询结果。
关于mysql - CodeIgniter 数据表日期搜索范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55532708/