Jquery Datatables не показывает данные - PullRequest
0 голосов
/ 17 мая 2019

У меня проблема с данными. Я ставлю JQuery Datatable, как эти

var oTable = table.DataTable({ 
            scrollY:        300,
            scrollX:        true,
            scrollCollapse: true,
            paging:         false,
            fixedColumns:   {
                leftColumns: 1
            },
            "columns": [
                { "data": "Status" },
                { "data": "Jan" },
                { "data": "Feb" },
                { "data": "Mar" },
                { "data": "Apr" },
                { "data": "May" },
                { "data": "Jun" },
                { "data": "Jul" },
                { "data": "Aug" },
                { "data": "Sep" },
                { "data": "Oct" },
                { "data": "Nov" },
                { "data": "Des" }
            ],
            "ajax": host+'datatables/'+target+'?buyer='+buyer+'&tahun='+tahun,
            "columnDefs": [{
                "targets": [ 0 ],
                "className": "details-control",
            }]
        });
$('#btnfiltersales').click(function(){
    var buyer = $("#buyer").val();
            var tahun = $("#tahun").val();
oTable.ajax.url( host+'datatables/'+target+'?buyer='+buyer+'&tahun='+tahun).load();
});

На ajax php я использую такой код

$buyer = $_GET['buyer'];
            $tahun = $_GET['tahun'];
            if($buyer<>"" && $tahun<>"")
            {
                $record = $this->tbl_project->infoprojection($buyer,$tahun)['count'];
                $json["recordsTotal"] = intval($this->tbl_project->infoprojection($buyer,$tahun)['count']);
                $json["recordsFiltered"] = intval($this->tbl_project->infoprojection($buyer,$tahun)['count']);
                if($record<>0)
                {   
                    $x = $this->tbl_project->infoprojection($buyer,$tahun)['items'];
                    while ($val = $x->fetch_assoc()) {
                        /*$json['data']=[$val['Status'],$val['Jan'],$val['Feb'],$val['Mar'],$val['Apr'],$val['May'],$val['Jun'],$val['Jul'],
                                       $val['Aug'],$val['Sep'],$val['Oct'],$val['Nov'],$val['Des']];*/

                        $json['data']=["Status"=>$val['Status'],"Jan"=>$val['Jan'],"Feb"=>$val['Feb'],"Mar"=>$val['Mar'],"Apr"=>$val['Apr'],
                                       "May"=>$val['May'],"Jun"=>$val['Jun'],"Jul"=>$val['Jul'],"Aug"=>$val['Aug'],"Sep"=>$val['Sep'],
                                       "Oct"=>$val['Oct'],"Nov"=>$val['Nov'],"Des"=>$val['Des']];
                    }
                }
                else
                {
                    $json["recordsTotal"] = "0";
                    $json["recordsFiltered"] = "0";
                    $json['data']=[];
                }
            }
            else
            {
                $json["recordsTotal"] = "0";
                $json["recordsFiltered"] = "0";
                $json['data']=[];
            }

            echo json_encode($json);

И после того, как я бегу, он не показывает мои данные, я проверяю с помощью элемента inspect, он показывает ответ, подобный этому

{"recordsTotal":2,"recordsFiltered":2,"data":{"Status":"Projection Amt","Jan":"782657.2","Feb":"649597.17","Mar":"673178.6","Apr":"871113.81","May":"805787.78","Jun":"369851.56","Jul":"882085","Aug":"721188.81","Sep":"872933.17","Oct":"691758.35","Nov":"691758.35","Des":"691758.35"}}

Я действительно запутываю, что мой ответ показывает мои данные, но не отображается в Datatable. Это только показывает No data available in table. Я делаю неправильный код или что? Пожалуйста, помогите мне, я застрял здесь.

1 Ответ

0 голосов
/ 17 мая 2019

Может быть очевидно, но вы включили JS и CSS в dataTables?

Как:

<script type="text/javascript" src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>

<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"/>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/dataTables.bootstrap.min.css"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...