优化在node.js中显示mysql查询结果的效率
optimise efficiency in display mysql query results in node.js
我有一个返回整个表的查询。我发现将数据显示为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>
标题>相关文章:
- 如何将这些查询结果放入表中
- 如何在下拉列表更改时自动填充mysql查询结果中的文本框值
- 将数据库中的超链接添加到查询结果
- 为什么我的文本框没有用查询结果更新
- 使用jquery显示mysql查询结果
- 如何使用 angularjs 以表格格式显示 parse.com 的查询结果
- Meteor:在模板接受Mongo查询结果之前修改它的最佳实践
- 未捕获的范围错误:WebSQL查询结果中的项索引超出范围错误
- 表单提交后保留数据库查询结果
- 需要循环遍历一系列mysql查询结果
- OrientDB:在服务器端函数中访问查询结果数据
- Firebase 删除查询结果
- MongoDB查询结果作为循环控制器
- j查询结果不显示,除非我按“后退”按钮
- J查询结果显示问题
- 为什么脚本 Db 查询结果对象不同
- 从包含的 php 文件刷新查询结果
- 实现我的 Javascript 函数到数据库查询结果
- 通过输入键(不起作用)或搜索按钮(工作)查询结果
- 从 JSON(db 查询结果)加载大型 javascript 数组而不会使页面崩溃