我有一个结果集我从一个查询中提取到一个包含3列的SQL数据库 - Category,Filetype和Status。我将该集合作为JSON返回到html,并且我希望显示该类别的唯一类别和匹配的文件类型,其状态为“失败”。
在我的身边,我有:
function checkStatus(form) {
var conn = getConnection();
var stmtquery = conn.prepareStatement("SELECT Category, FileType, Status FROM ExtDocStatus WHERE AppID = ? AND Expected = 'Y'");
stmtquery.setString(1, appID);
var results = stmtquery.executeQuery();
var resultsArray = [];
while (results.next()) {
resultsArray.push({'Category': results.getString(1),
'FileType': results.getString(2),
'Status': results.getString(3)});
}
return JSON.stringify(resultsArray)
//} catch (error) {
// return error.toString();
//}
}
我不太确定如何在我的html页面上构建它,但到目前为止:
function submitForm() {
var form = $('#Form')[0];
checkForm(function(){
$("#submit-button")[0].value = 'Checking Status...';
google.script.run
.withSuccessHandler(function onSuccess(data) {
var data = JSON.parse(data);
if (data == '') {
$("#modal-body").html("<strong>We have no records in our system for you</strong>");
}
else {
$.each(data.Category, function()
$("#modal-body").html('<p><strong>Our system indicates you have opted in for the following categories:<strong></p><ul>');
for(var x in data) {
$("#modal-body").append('<p><strong>'+data[x].Category+'</strong></p>');
$("#modal-body").append('<ul>')
$("#modal-body").append('<li><span style="color: red;"><strong>'+data[x].FileType+'</strong></span></li>');
$("#modal-body").append('</ul>');
}
$("#submit-button")[0].value = 'Check Status';
$("#dialog").modal('show');
})
.withFailureHandler(function(error) {
alert(error);
})
.checkStatus(form);
});
}
因为它是我将得到所有类别的列表和所有FileTypes的列表,但是想要仅限于类别(不管文件类型或状态)的不同,然后列出具有失败状态的匹配文件类型。一位朋友建议使用(.each)创建一个数据透视表,并根据键将数据推送到一个新数组,但不太确定如何实现。任何建议将不胜感激。