2017-08-29 58 views
1

我有一个表格,我有两个日期的选择从 日期和日期,当用户点击我打电话AJAX来过滤笨两个日期之间的数据:尝试使用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(); 
        }); 

       } 
    }` 

PHP代码在SQL查询我在哪里按日期过滤数据:

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)

错误 =语法错误:意外令牌<在JSON在位置1个

错误位置 =上面的PHP代码

+3

我不在这里看到JSON。我错过了什么? –

+0

@BrianGottier其实这个错误不是由于json或ajax,我试图根据选定的日期过滤数据的查询是原因。 – Arsee

+1

根据您提供的代码和信息,我无法帮助您。该错误看起来像是一个JavaScript错误,但是您向我们展示了一些PHP。我建议尝试逐行调试您的代码。如有必要,减少您的代码,以便您可以确定问题。 –

回答

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); 
} 
+0

我认为必须有格式化日期中的问题,而不是在查询中 – Arsee