jade, express, and mysql results
jade, express, and mysql results
我正在尝试使用 Jade 呈现 SQL 查询的结果。它查询一个包含横幅的表,每个横幅都有一个类型(总共 3 个)和一个唯一的 id。
这是我拥有的:
表达:
connection.query("SELECT * FROM banner_idx ORDER BY id_type ASC, id_banner ASC", function selectCb(err, results, fields) {
if (err) {throw err;}
res.render('banners', {
title: results[0].title,
results: results
});
});
玉:
ul.listBanners
- each result in results
li.banner(data-type=result['id_type'])
- var item = result['id_banner']+': '+result['name_banner']
span=item
这为我提供了按所需顺序排列的横幅列表。现在我想以这种方式组织它(伪代码):
ul#id_type1
list of banners with id_type == 1
ul#id_type2
list of banners with id_type == 2
ul#id_type3
list of banners with id_type == 3
这可能与翡翠有关吗?我应该从 Express 发送 3 个结果集而不是 1 个结果集吗?那么问题就在于,任何新的id_type都需要硬编码......有什么想法吗?
您可以使用
lodash.groupBy
按id_type
对结果集进行分组:
var _ = require('lodash');
...
connection.query("SELECT * FROM banner_idx ORDER BY id_type ASC, id_banner ASC", function selectCb(err, results, fields) {
if (err) {throw err;}
res.render('banners', {
title : results[0].title,
groups : _.groupBy(results, 'id_type')
});
});
groupBy
返回一个如下所示的对象:
{
'1' : [
{ id_type : 1, ... },
{ id_type : 1, ... },
...
],
'2' : [
{ id_type : 2, ... },
{ id_type : 2, ... },
...
],
...
}
因此,该对象中的键是要分组的属性的值,在本例中id_type
。
您的模板将如下所示:
each entries, id in groups
ul(id = 'id_type' + id)
each entry in entries
li #{ entry.id_banner + ': ' + entry.name_banner }
相关文章:
- 使用jquery将mysql数据获取到新的表行中
- 将地理编码结果转换为php变量以发布到mysql数据库
- 如何使用JS禁用表行,并在MYSQL中插入所选选项
- 从MySQL数据库中获取输入数据需要两次页面刷新
- 将一个表的id与另一个表中的user_id进行匹配,以获取mysql中的记录
- 在php和mysql中选择选项.一旦选择了选项,就列出我的sql数据库数据
- 如何使用PHP将javascript变量添加到mysql数据库中
- 将phonegap图像发布到php/mysql-图像字段从发布请求中消失
- 在node.js-mysql中执行UPDATE查询不起作用
- 更新从Mysql查询检索到的数据?Node.js节点mysql
- 单击鼠标,用MySQL数据填充html表单输入字段
- 浓缩一系列mySQL查询
- 如何翻译MySQL查询's ResultSet转换为整数
- 如何在mysql查询(NODE.js)中重复使用一个参数
- Node.JS, Angular.JS, MySql,Express.JS
- Ajax和MySql的插入、检查和检索
- onclick->mysql查询->javascript;同一页
- 在javascript中跳过周六和周日,并向mysql数据库中添加不重复的条目
- 如何使用jQueryPOST将get变量从JavaScript传递到PHP-Mysql
- jade, express, and mysql results