尝试使用ajax在codeigniter中的两个日期之间过滤数据

时间:2017-08-29 11:54:00

标签: php jquery ajax codeigniter

我有一个表单,其中有两个日期选项日期来自  和日期,当用户点击我正在调用ajax:

$.ajax({
    url: $url,
    type: "POST",
    dataType: 'json',
    data: $data,
    success: function (response)
    {
    if (response.status == 'OK') 
                {
                    var sales_summary = response.sales_summary;
                    $('#example1').find('tbody').empty();
                    $u = 1;
                    $.each(sales_summary, function() 
                    {
                        var new_row = '<tr>'+
                            '<td>' + $u + '</td>'+
                            '<td>' + this.name + '</td>'+
                            '<td>' + this.datetime + '</td>' +
                        '</tr>';
                        $u++;
                        $('#example1').find('tbody').append(new_row);
                        $('#loading_div').hide();
                    });

                }
    }`
在SQL查询中的php代码,我按日期过滤数据:

if ($filter['date_from'] != '') {
       $this->db->where('transaction.created_on >=', strtotime($filter['date_from'])+3600);
    }
if ($filter['date_to'] != '') {
       $this->db->where('transaction.created_on <=', strtotime($filter['date_to'])+89999);
    }

数据类型(日期) = int(11)

错误 = SyntaxError:意外的令牌&lt;在位置1的JSON中

错误位置 =上面的php代码

1 个答案:

答案 0 :(得分:0)

我想你可以试试BETWEEN

if ($filter['date_from'] != '' && $filter['date_to'] != '') {
   $this->db->where("transaction.created_on BETWEEN ".
   strtotime($date_from) + 3600 ." AND ".  strtotime($date_to) + 
   89999);
}