php - 如何在数据表中显示错误消息

标签 php jquery datatables

我正在使用数据表来列出候选人并使用地区和政党名称搜索候选人。我为此使用ajax。问题是,当没有任何搜索结果时,我无法显示“未找到结果”。我该怎么做呢? 代码: 单击搜索按钮时:

$(document).on("click", "#submit_filter", function(){
        $(this).attr('disabled', 'disabled');
        $('input#loading').css('display', 'block');
        var districtId = $("select#filter_district option:selected").val();
        var partyId = $("select#filter_party option:selected").val();
        var langId = $("input#hidden_lang").val();
        var table = $.fn.dataTable.fnTables(true);
        if ( table.length > 0 ) {
          var oTable = $('#candidates_table').dataTable();
          oTable.fnDestroy();
        }
        $("#candidates_table").DataTable({
            "bSort": false,
            "bProcessing": true,
            "sAjaxSource": "<?php echo base_url('search_candidates') ?>"+"/"+districtId+"/"+partyId+"/"+langId,
            "fnServerData": function ( sSource, aoData, fnCallback ) {
                $.ajax({
                    "dataType": 'json', 
                    "type": "POST", 
                    "url": sSource, 
                    "data": aoData, 
                    "success": fnCallback
                });
            }

在 search_candidates Controller 中代码是:

function index($districtId,$partyId,$langId){
$result = $this->search->SearchCandidates($langId, $districtId, $partyId);
            $json_array = array();
            $res = array("aaData"=>'');
            if(isset($result) && !empty($result) && is_array($result)){
                foreach($result as $ind=>$val){
$nos = $ind+1;
                        $data['S.Nos.'] = $nos;
                        $data['District'] = $val->district;
                        $data['Election Area Nos'] = $val->election_nos;
                        $data['Candidate Name'] = $val->candidate_name;
                        $data['Political Party'] = $val->party_name;
                        $data['Age'] = $val->age;
                        $data['Gender'] = $val->gender;
                        $array = array($nos, $district, $election_nos, $val->candidate_name, $val->party_name, $val->age, $val->gender);
                        array_push($json_array, $array);
}
$res['aaData'] = $json_array;
}
echo json_encode($res);
}

通过此获得的数据是:

{"aaData":[[1,"Kathmandu","1","Prakash Man Singh","Nepali Congress","58","M"],[2,"Kathmandu","2","Madhav Kumar Nepal","Nepal Communist Party(Markswadi-Leninwadi)","60","M"],[3,"Kathmandu","3","Rameshwor Fuyal","Nepal Communist Party (Ekikrit Markswadi-Leninwadi)","51","M"],[4,"Kathmandu","4","Gagan Kumar Thapa","Nepali Congress","37","M"],[5,"Kathmandu","5","Narhari Acharya","Nepali Congress","60","M"],[6,"Kathmandu","6","Bhimsen Das Pradhan","Nepali Congress","59","M"],[7,"Kathmandu","7","Ram Bir Manandhar","Nepal Communist Party (Ekikrit Markswadi-Leninwadi)","50","M"],[8,"Kathmandu","8","Nabindra Raj Joshi","Nepali Congress","52","M"],[9,"Kathmandu","9","Dhyan Govinda Ranjit","Nepali Congress","66","M"],[10,"Kathmandu","10","Rajendra Kumar K.C.","Nepali Congress","55","M"]]}

我该如何解决这个问题?欢迎任何帮助/建议。

最佳答案

Datatables 负责处理这个问题。您所要做的就是传递一个空数组[]。从代码中我看到您有 $res = array("aaData"=>'');。这可能就是您没有收到“未找到结果”消息的原因。我不知道 php,所以我无法建议确切的更改,但要获取消息,json 输出应该像这样

{"aaData":[]}

干杯!!

关于php - 如何在数据表中显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22472086/

相关文章:

javascript - 下拉单击来自 mysql 的 PHP 数据

jquery - 如何使用 JQuery 将 HTML 表单字段作为数组直接传递到 CodeIgniter 中的数据库

jquery - 简单的jquery插件

jquery - 有效 XHTML 的 DataTables "nCell is undefined"错误

php - jQuery .slideUp 问题

javascript - 如果有条件,Jquery 不会跳过 PHP

php - 如何为 PHP 7 和 MAMP 启用 Webp

javascript - 在 Chart.js 中设置雷达(蜘蛛)图表版本 2.x (2.4.0) 步骤(间隔)

javascript - 为什么数据表会添加新记录并保留旧记录?

javascript - 如何在ajax上重新加载数据表并触发新的分页