Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.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调用数据表上的现有记录_Php_Jquery_Ajax_Datatables - Fatal编程技术网

Php 不清除Ajax调用数据表上的现有记录

Php 不清除Ajax调用数据表上的现有记录,php,jquery,ajax,datatables,Php,Jquery,Ajax,Datatables,我使用DataTables插件从mysql表中检索数据并显示它们。为此,我使用他们的服务器端处理代码来检索所有数据。到目前为止,它运行良好。现在,我每分钟都在检查数据库是否插入了新记录。若在数据库中插入了新记录,我将调用数据表函数。此时,它将清除整个记录,并使用新插入的记录显示这些记录,使其看起来像整个页面加载。我们可以不清除现有数据吗?或者我们可以在不清除记录的情况下将新插入的记录附加到现有记录中吗?或者我如何处理这个 这是我的密码 $('#example').dataTable({

我使用DataTables插件从mysql表中检索数据并显示它们。为此,我使用他们的服务器端处理代码来检索所有数据。到目前为止,它运行良好。现在,我每分钟都在检查数据库是否插入了新记录。若在数据库中插入了新记录,我将调用数据表函数。此时,它将清除整个记录,并使用新插入的记录显示这些记录,使其看起来像整个页面加载。我们可以不清除现有数据吗?或者我们可以在不清除记录的情况下将新插入的记录附加到现有记录中吗?或者我如何处理这个

这是我的密码

$('#example').dataTable({
                    "bProcessing": false,
                    "bServerSide": true,
                    "sPaginationType": "full_numbers",
                    "iDisplayLength":10,
                    "bDeferRender": true,
                    "bFilter": false,
                    "bSort": false,
                    "bInfo": true,
                    "sAjaxSource": #PHP_PATH#/json_data"
                   });

对于您想要实现的目标,我还建议您调查一下SignalR,它太棒了

您使用
bServerSide
处理的目的是什么

第一次生成页面并将其发送到客户端时,datatable将使用当时最新的数据呈现。之后,在每次后续的ajax调用中,如果您的服务器只向您发送了新数据,那么您所要做的就是在success/complete回调中调用下面的方法

function AddRow(row) {
    $('#example').dataTable().fnAddData([
        row[0],
        row[1],
        row[2]]);
}


如果是一行/几行,您可以尝试使用jquery ajax手动获取它们,并使用
fnAddData
@Daniel手动添加-很可能是一行/两行。他们文档中的bt
fnAddData
()仅适用于客户端处理。您使用服务器端处理的目的是什么?@LearneR,嗯。。。您可以尝试,看看排序/筛选器是否考虑了新添加的行。。。如果是这样,我想没关系。。。(最坏情况下,您可以尝试使用带有伪值的
fnUpdate
来更新表数据源)
$.ajax({
    //...
    success: function(data) {
        //assuming data = ["COL.1", "COL.2", "COL.3"]
        AddRow(data);
    }
    //...
});​