我正在网站上构建一个设施(使用 Symfony2),允许用户创建报告并使用 AJAX 将其显示在屏幕上。这些报告实际上是动态创建的 SQL 语句,然后在数据库上运行。
我遇到的问题是,如果不首先知道报告中使用了哪些字段,我无法弄清楚如何在屏幕上显示这些结果。查询可能只包含表中的 2 个字段,或者 15 个字段,我希望代码足够强大来处理这个问题。
到目前为止,这是我正在使用的代码:
$.ajax({
type: 'POST',
url: urlLink,
success: function (data) {
var Type = (data.recordType);
var Results = (data.results);
var Name = (data.name);
var Description = (data.description);
var Titles = (data.titles);
$('#reportName').text(Name);
$('#reportDescription').text(Description);
$('#listTable > tbody:last').empty();
$('#listTable > thead:last').empty();
$('#listTable > thead:last').append('<tr>'+Titles+'</tr>');
$.each(Results, function(i, item) {
$('#listTable > tbody:last').append('<tr><td>' + Results[i] + '</td><td>' + Results[i] + '</td><td>' + Results[i] + '</td><td>' + Results[i] + '</td><td>' + Results[i] + '</td><td>' + Results[i] + '</td></tr>');
});
}
});
变量 Titles
来自查询,因为当用户向数据库添加字段时,这些字段会添加到一个字符串中,然后我在 Controller 中使用 PHP 分解该字符串。
在 foreach 内部,每一列都会返回 [object Object]
。当我从代码中删除 [i]
并将其替换为 .column-name
时,它将起作用。但这正是我试图避免的。我想要一些类似于我对表格标题所做的事情。
最佳答案
也许尝试一下,并显示 console.log(data) 的输出;
console.log(data);
var data = $.parseJSON(data);
关于php - 在不知道数组键名称的情况下使用 JQuery JSON 打印 MySQL 查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27102998/