我有一個返回整個表的查詢。 的唯一方法,我發現作爲一個HTML表是通過爲每列的陣列來顯示數據:在node.js顯示MySQL查詢結果優化效率
var date = [];
for (var i in arr) {
date[i] = arr[i].nullinfoDate;
}
var number = [];
for (var i in arr) {
number[i] = arr[i].nullinfoNumber;
}
var bool = [];
for (var i in arr) {
bool[i] = arr[i].nullinfoBool;
}
var text1 = [];
for (var i in arr) {
text1[i] = arr[i].nullinfoText1;
}
var text2 = [];
for (var i in arr) {
text2[i] = arr[i].nullinfoText2;
}
,然後將所有的列的HTML模板:
app.get('/', function (req, res) {
res.render('index', {
title: 'home',
date: date,
number: number,
bool: bool,
text1: text1,
text2: text2
});
});
但是,這感覺非常低效。有沒有更好的方法來做到這一點?
HTML(EJS)模板:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title><%= title %></title>
</head>
<body>
<h1><%= title %></h1>
<table>
<% for(var i = 0; i < date.length; i++) {%>
<tr>
<td><%= date[i] %></td>
<td><%= number[i] %></td>
<td><%= bool[i] %></td>
<td><%= text1[i] %></td>
<td><%= text2[i] %></td>
</tr>
<% } %>
</table>
</body>
</html>
可能你展示你的HTML模板? –
謝謝!你能否描述你的查詢('arr')返回的數據究竟是怎樣的? –
'[RowDataPacket { NULLINFOId:7, nullinfoDate:星期三2016年8月17日十三時48分18秒GMT + 0300(IDT), nullinfoNumber:877, nullinfoBool:0, nullinfoText1: '單詞', nullinfoText2:'短語」}, RowDataPacket { NULLINFOId:8, nullinfoDate:星期三2016年8月17日13時48分53秒GMT + 0300(IDT), nullinfoNumber:924, nullinfoBool:1, nullinfoText1: '某物', nullinfoText2 :'stuff'},'等... – user3187759