2015-05-13 25 views
0

因此,我环顾四周,找不到任何有我现在遇到的问题的人。我已经使用Jquery Datatables并使用JSON填充这个数据表,我从ajax调用接收。我不断收到第4错误,这意味着我有一个未知的参数。 https://www.datatables.net/manual/tech-notes/4。但我不明白为什么会发生这种情况!我会尝试尽可能详细地了解是否有人可以帮助我解决这个烦人的问题!数据表不能正确读取JSON数据

这是我收到的确切的错误代码。

数据表警告:表ID = manageUsersTable - 请求的未知参数 'CONCAT(E.FNAME, '',E.LNAME)' 为0的行有关此错误的详细信息,请参阅http://datatables.net/tn.4

这是我的PHP查询:

$result = $conn->query("SELECT CONCAT(E.FNAME, ' ', E.LNAME), CONCAT(M.FNAME, ' ', M.LNAME), E.ISTERMINATED FROM EMPLOYEE E INNER JOIN EMPLOYEE M ON M.ID = E.SUPERVISOR;") 

这是javasript初始化的数据表:

manageUsersTable = $('#manageUsersTable').dataTable({ 
    "responsive": true, 
    "sAjaxDataProp": "", 
    "sAjaxSource": "all_emps.php", 
    "aoColumns":[ 
     { "mData": "CONCAT(E.FNAME, ' ', E.LNAME)"}, 
     { "mData": "CONCAT(M.FNAME, ' ', M.LNAME)"}, 
     { "mData": "ISTERMINATED"} 
    ] 
}); 
$('#manageUsersTable tbody').on('click', 'tr', function() { 
    if ($(this).hasClass('selected')) { 
     $(this).removeClass('selected'); 
    } 
    else { 
     manageUsersTable.$('tr.selected').removeClass('selected'); 
     $(this).addClass('selected'); 
    } 
}); 

我有一个ajax调用,通过执行console.log来查看数据,这里是调用。

$.ajax({ url: 'all_emps.php', 
     type: 'post', 
     success: function(data){ 
      console.log(data); 
     } 
}); 

这里是JSON值我看到:

[{"CONCAT(E.FNAME, ' ', E.LNAME)":"John Paul","CONCAT(M.FNAME, ' ', M.LNAME)":"Bob Saget","ISTERMINATED":"Employed"},{"CONCAT(E.FNAME, ' ', E.LNAME)":"Jim Bob","CONCAT(M.FNAME, ' ', M.LNAME)":"Bob Saget","ISTERMINATED":"Employed"},{"CONCAT(E.FNAME, ' ', E.LNAME)":"Saget Bob","CONCAT(M.FNAME, ' ', M.LNAME)":"Bobbity Saget","ISTERMINATED":"Employed"},{"CONCAT(E.FNAME, ' ', E.LNAME)":"Sagetty Bob","CONCAT(M.FNAME, ' ', M.LNAME)":"Bob Sagetry","ISTERMINATED":"Employed"},{"CONCAT(E.FNAME, ' ', E.LNAME)":"Sagetry Bob","CONCAT(M.FNAME, ' ', M.LNAME)":"Wilbur Wright","ISTERMINATED":"Employed"}] 

回答

1

使用别名,而不是为你的数据库功能领域

$result = $conn->query("SELECT CONCAT(E.FNAME, ' ', E.LNAME) as ENAME, CONCAT(M.FNAME, ' ', M.LNAME) as MNAME, E.ISTERMINATED FROM EMPLOYEE E INNER JOIN EMPLOYEE M ON M.ID = E.SUPERVISOR;") 

,并使用这些名字在你的数据表列DEFS

"aoColumns":[ 
    { "mData": "ENAME"}, 
    { "mData": "MNAME"}, 
    { "mData": "ISTERMINATED"} 
] 
+0

谢谢你的工作完美!我会upvote,但我是跛脚,我没有15代表。 – Imgoinghamm

0

尝试混淆你的CONCAT()语句。

SELECT CONCAT(E.FNAME, ' ', E.LNAME) AS name1, etc... 
+0

感谢您的!这正是我需要的。 – Imgoinghamm