Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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
Javascript DataTables:在服务器端运行时搜索所有列_Javascript_Jquery_Json_Datatables - Fatal编程技术网

Javascript DataTables:在服务器端运行时搜索所有列

Javascript DataTables:在服务器端运行时搜索所有列,javascript,jquery,json,datatables,Javascript,Jquery,Json,Datatables,我正在使用(CodeIgniter库)进行。生成表时没有问题,但如果我搜索/筛选,它一次只能筛选一列。如果我将“bServerSide”设置为false,它将工作,但随后我将失去服务器端功能 在示例中,这一个正在工作: 虽然这不是(服务器端): 这在运行服务器端时不可能实现吗 这是我的JSON响应(缩短并替换数据): {“sEcho”:0,“iTotalRecords”:45438,“iTotalDisplayRecords”:45438,“aaData”:[[“abc”,“12345”ex

我正在使用(CodeIgniter库)进行。生成表时没有问题,但如果我搜索/筛选,它一次只能筛选一列。如果我将“bServerSide”设置为false,它将工作,但随后我将失去服务器端功能

在示例中,这一个正在工作:

虽然这不是(服务器端):

这在运行服务器端时不可能实现吗

这是我的JSON响应(缩短并替换数据):

{“sEcho”:0,“iTotalRecords”:45438,“iTotalDisplayRecords”:45438,“aaData”:[[“abc”,“12345”example@example.com,,,,,,,,,,2010-01-27 22:31:10,“编辑-删除”],[“abc2”,“test123”test@test.com“,”,“,”,“2008-06-15 22:09:33”,“编辑删除”],“列表”:“fname,lname,email,phone,mobile,created,Edit”}
JavaScript代码:

$("#members").dataTable( {
    "bProcessing": true,
    "bServerSide": true,
    'sAjaxSource': '<?php echo base_url();?>members/listener',
    "fnServerData": function ( sSource, aoData, fnCallback ) {
        $.ajax( {
            "dataType": 'json',
            "type": 'POST',
            "url": sSource,
            "data": aoData,
            "success": fnCallback
        } );
    },
    "bLengthChange": false,
    "aaSorting": [[ 0, "asc" ]],
    "iDisplayLength": 15,
    "sPaginationType": "full_numbers",
    "bAutoWidth": false,
    "aoColumnDefs": [ 
        { "sName": "fname", "aTargets": [ 0 ] },
        { "sName": "lname", "aTargets": [ 1 ] },
        { "sName": "email", "aTargets": [ 2 ] },
        { "sName": "phone", "sWidth": "80px", "aTargets": [ 3 ] },
        { "sName": "cellphone", "sWidth": "100px", "aTargets": [ 4 ] },
        { "sName": "created", "sWidth": "120px", "aTargets": [ 5 ] },
        { "bSortable": false, "sName": "edit", "sWidth": "115px",   "aTargets": [ 6 ] }
    ]
});
$(“#成员”)。数据表({
“bProcessing”:正确,
“bServerSide”:正确,
'sAjaxSource':'members/listener',
“fnServerData”:函数(sSource、aoData、fnServerData回调){
$.ajax({
“数据类型”:“json”,
“类型”:“职位”,
“url”:sSource,
“数据”:aoData,
"成功":
} );
},
“bLengthChange”:false,
“aaSorting”:[[0,“asc”]],
“iDisplayLength”:15,
“sPaginationType”:“完整编号”,
“bAutoWidth”:假,
“aoColumnDefs”:[
{“sName”:“fname”,“aTargets”:[0]},
{“sName”:“lname”,“aTargets”:[1]},
{“sName”:“email”,“aTargets”:[2]},
{“sName”:“phone”,“sWidth”:“80px”,“aTargets”:[3]},
{“sName”:“mobile”,“sWidth”:“100px”,“aTargets”:[4]},
{“sName”:“created”,“sWidth”:“120px”,“aTargets”:[5]},
{“bSortable”:false,“sName”:“edit”,“sWidth”:“115px”,“aTargets”:[6]}
]
});

谢谢大家!

好吧,如果你过滤服务器端的话,问题是你正在过滤一个SQL查询,这是你发布的页面上写的内容

  • 过滤
  • 注意,这与执行此操作的内置DataTables筛选不匹配
  • 在任何领域逐字逐句。在这里可以这样做,但要考虑效率
  • 在非常大的表上,MySQL的正则表达式功能非常有限
基本上,您可以做您想做的事情(正则表达式匹配所有列),但这将扼杀服务器端的性能


我通常做的是为每一列提供一个过滤器,我需要过滤

好吧,如果你过滤服务器端的话,问题是你正在过滤一个SQL查询,这是你发布的页面上写的内容

  • 过滤
  • 注意,这与执行此操作的内置DataTables筛选不匹配
  • 在任何领域逐字逐句。在这里可以这样做,但要考虑效率
  • 在非常大的表上,MySQL的正则表达式功能非常有限
基本上,您可以做您想做的事情(正则表达式匹配所有列),但这将扼杀服务器端的性能

我通常做的是为每一列提供一个过滤器,我需要过滤

$("#members").dataTable( {
    "bProcessing": true,
    "bServerSide": true,
    'sAjaxSource': '<?php echo base_url();?>members/listener',
    "fnServerData": function ( sSource, aoData, fnCallback ) {
        $.ajax( {
            "dataType": 'json',
            "type": 'POST',
            "url": sSource,
            "data": aoData,
            "success": fnCallback
        } );
    },
    "bLengthChange": false,
    "aaSorting": [[ 0, "asc" ]],
    "iDisplayLength": 15,
    "sPaginationType": "full_numbers",
    "bAutoWidth": false,
    "aoColumnDefs": [ 
        { "sName": "fname", "aTargets": [ 0 ] },
        { "sName": "lname", "aTargets": [ 1 ] },
        { "sName": "email", "aTargets": [ 2 ] },
        { "sName": "phone", "sWidth": "80px", "aTargets": [ 3 ] },
        { "sName": "cellphone", "sWidth": "100px", "aTargets": [ 4 ] },
        { "sName": "created", "sWidth": "120px", "aTargets": [ 5 ] },
        { "bSortable": false, "sName": "edit", "sWidth": "115px",   "aTargets": [ 6 ] }
    ]
});