使用 ajax 从 mysql 填充 jQuery 数据表


Populating jQuery datatables from mysql using ajax

我正在尝试在单击按钮时填充数据表,这将向process.php发送日期,而该日期又将查询数据库并输出json数组。

这是我的代码:

Javascript:

var dailyCollTable = $("#dailyColl").DataTable();
$("#dailyBills").click(function(){
    var date = $("#billDate").val();
    $.ajax({
        type:'post',
        url:'process.php',
        data:{date:date},
        dataType:'json',
        success:function(s){
            console.log(s);
            dailyCollTable.fnClearTable();
            for(var i = 0; i < s.length; i++){
                dailyCollTable.fnAddData([ s[i][0], s[i][1], s[i][2], s[i][3], s[i][4], s[i][5] ]);
            }
        }
    });
});

这就是我的过程.php

<?php
$connection = mysqli_connect("localhost", "root", "", "database");
$date = $_POST['date'];
$query = mysqli_query($connection,"SELECT CustomerName,BillNumber,BillDate,BillAmount,PaidAmount,PaymentDate FROM billentry WHERE Status=1 AND PaymentDate='$date'");
while($fetch = mysqli_fetch_array($query)){
    $output[] = array ($fetch[0],$fetch[1],$fetch[2],$fetch[3],$fetch[4],$fetch[5]);
}
echo json_encode($output);

?>

我检查了浏览器控制台。阵列运行正常。我得到的错误是

uncatch TypeError: dailyCollTable.fnClearTable 不是函数

我已经包含了所有必要的库。

完全相同的代码适用于我以前的表。

查询末尾有错误...PaymentDate='$date'

你应该写...PaymentDate='" . $date . "'