gpt4 book ai didi

javascript - 优化node.js中显示mysql查询结果的效率

转载 作者:行者123 更新时间:2023-12-03 06:17:21 24 4
gpt4 key购买 nike

我有一个返回整个表的查询。我发现将数据显示为 HTML 表格的唯一方法是为每列创建一个数组:

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>

最佳答案

看起来直接传递查询返回的数据就足够了:

app.get('/', function (req, res) {
res.render('index', {
title: 'home',
data: arr
});
});

然后在您的模板中,您可以执行以下操作:

<table>

<% for (let datum of data) {%>
<tr>
<td><%= datum.nullinfoDate %></td>
<td><%= datum.nullinfoNumber %></td>
<td><%= datum.nullinfoBool %></td>
<td><%= datum.nullinfoText1 %></td>
<td><%= datum.nullinfoText2 %></td>
</tr>
<% } %>

</table>

关于javascript - 优化node.js中显示mysql查询结果的效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39033289/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com