2017-08-29 55 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