Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用从AJAX请求返回的Db记录更新Datatable_Php_Jquery_Datatables - Fatal编程技术网

Php 使用从AJAX请求返回的Db记录更新Datatable

Php 使用从AJAX请求返回的Db记录更新Datatable,php,jquery,datatables,Php,Jquery,Datatables,我有一个非常基本的HTML表。数据来自数据库。我现在已经设置了一个带有按钮的日期选择器,只要我点击按钮,我就会发出一个AJAX请求,以获取特定日期的特定数据。为了简化,我的查询只是以id=1为例。现在我想返回数据abnd更新数据表,但不幸的是返回了数据,但没有显示 data […] 0 {…} id 1 category_id 1 title Technology Post One 这就是返回的内容。我是否在上述格式中出错,或者如何更新数据表?我得到以下错误: Data

我有一个非常基本的HTML表。数据来自数据库。我现在已经设置了一个带有按钮的日期选择器,只要我点击按钮,我就会发出一个AJAX请求,以获取特定日期的特定数据。为了简化,我的查询只是以id=1为例。现在我想返回数据abnd更新数据表,但不幸的是返回了数据,但没有显示

data    […]
0   {…}
 id 1
 category_id    1
 title  Technology Post One
这就是返回的内容。我是否在上述格式中出错,或者如何更新数据表?我得到以下错误:

DataTables警告:表id=示例-为第0行第0列请求的未知参数“0”


您可以更新js脚本并为ajax调用创建一个新的php文件,该文件将返回新的数据表。试试这个代码,它会起作用的-

<script>
  var created_at = ''; 
$(document).ready(function() {

  var datatable = $('#example').DataTable({
        'processing': true,
        'scrollX': true,
        'serverSide': true,
        'serverMethod': 'post',
        'searching' : true,
        'ajax': {
            url:'new-file.php',     
            data: function(data){
                    data.created_at = created_at;
                }
        },
        "columns": [
                {"data": "id"},
                {"data": "author"},
                {"data": "created_at"}
            ],           
  });       


$( "#datepicker" ).datepicker();

$("button").click(function(e) {
    e.preventDefault();
    created_at = $("#datepicker").val();
    datatable.draw();
});
} );
</script>

我真的不知道数据表,但看看代码,我可以看到一个潜在的问题。调用$'example'.DataTable.ajax.reload;当ajax请求完成,但您还没有将DataTable配置为实际执行任何操作或加载任何数据时?它应该装什么?您的ajax请求/响应和您的DataTable没有任何关系。我认为您是对的,我想我应该命名这些列,所以我更新了下面的内容。现在,当我使用查询id=1时,它就可以工作了,所以我执行了下一步,添加了from和to日期,但随后出现了下一个错误。我会更新上面的帖子。非常感谢你。我必须输入“服务器端”:false,它才能工作,并且必须实例化DataTable以在开始时可用,在单击按钮后,我销毁了它,然后再次实例化它。听起来怪怪的,但这一切都是在我的安排下进行的。非常感谢你的帮助!
<script>
  var created_at = ''; 
$(document).ready(function() {

  var datatable = $('#example').DataTable({
        'processing': true,
        'scrollX': true,
        'serverSide': true,
        'serverMethod': 'post',
        'searching' : true,
        'ajax': {
            url:'new-file.php',     
            data: function(data){
                    data.created_at = created_at;
                }
        },
        "columns": [
                {"data": "id"},
                {"data": "author"},
                {"data": "created_at"}
            ],           
  });       


$( "#datepicker" ).datepicker();

$("button").click(function(e) {
    e.preventDefault();
    created_at = $("#datepicker").val();
    datatable.draw();
});
} );
</script>