我想从数据库中获取数据并使用data-table显示它 . 我已经绑定了以json格式获取数据,但数据没有显示在数据表中,我无法找到错误在哪里

这是我的剧本

$(document).ready(function(){
            show_product(); //call function show all product
            //alert('hi');
            $('#mydata').dataTable();
             //alert('hi');
            //function show all product
            function show_product(){
                $.ajax({
                    type  : 'ajax',
                    url   : 'view_cat_table.php',
                    async : false,
                    dataType : 'json',
                    success : function(data){
                        alert(data);
                        var html = '';
                        var i;
                        for(i=0; i<data.length; i++){
                            html += '<tr>'+
                                    '<td>'+data[i].name+'</td>'+
                                    '<td>'+data[i].date+'</td>'+
                                    '<td style="text-align:right;">'+
                                        '<a href="javascript:void(0);" class="btn btn-info btn-sm item_edit" data-product_code="'+data[i].id+'">Edit</a>'+' '+
                                        '<a href="javascript:void(0);" class="btn btn-danger btn-sm item_delete" data-product_code="'+data[i].id+'">Delete</a>'+
                                    '</td>'+
                                    '</tr>';
                        }
                        $('#show_data').html(html);
                    }

                });
            }


        });

php code is

<?php
include('config.php');
$sql = "SELECT * FROM `category`";
$fire = mysqli_query($link,$sql);
if(mysqli_num_rows($fire) > 0){
    while($data=mysqli_fetch_assoc($fire)){
        $id = $data['id'];
        $name = $data['cat_name'];
        $date = $data['created_on'];

        echo json_encode(
        array("name" => $name,
            "id" => $id,
        "date" => $date));
    }
}?>