我们正在尝试从mysql检索数据,以便在html/jade中显示数据。不幸的是,我们无法在HTML表上显示记录。
因为我们使用mysql池,所以事情变得更加困难。这是我们目前的代码。(使用由快递生成器生成的骨架)
/model/bew.js
var mysql = require('mysql');
var pool = require('./databaseConnection');
var sorter = 'db.bew';
var sql = 'SELECT * FROM' + pool.escapeId(sorter);
var records = pool.query(sql, function(err, rows, fields) {
if (err) throw err;
// foreach
// for(row of rows){
// console.log(row);
// }
//console.log('The fields: ', rows[0].id);
});
module.exports = records;(注释掉for-of和console.log将打印SQL行)
路由/index.js
var express = require('express');
var router = express.Router();
var records = require('../models/bew');
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', {
title: 'Bewerber',
records: records
});
});
module.exports = router;视图/index.jder (html会更好)
extends layout
block content
body
table#tblBewerber
thead
tr
th Name
th Status
th Letzte Änderung
th Datum
th Angelegt
th Nächster Schritt bis
th Nächster Schritt
th Zul. bearbeiten
th Bew. für
tbody
each record in records
tr
td=record.namen我们做了几次测试,似乎index.js没有从'bew.js‘中获取数据?
发布于 2016-06-28 13:44:22
我把它拆开了一点,使它更容易阅读。我就是这样解决的。
function sqlQuery( req, res, next ) {
pool.query("SELECT ...", function (err, rows) {
req.records = rows;
next();
})
}
router.get('/', sqlQuery, function(req, res, next) {
res.render('index', {
title: 'Bewerber',
records: req.records
});
});这样,您就可以将它们拆分到不同的文件中,如果这正是您想要达到的目标。
发布于 2016-06-28 10:43:07
您似乎无法分离快速路由器和sql查询。这就是我们现在的工作方式:
路由/index.js
var mysql = require('mysql');
var express = require('express');
var router = express.Router();
var pool = require('../models/databaseConnection');
var sql = require('../models/bew');
router.get('/', function(req, res, next) {
pool.query(sql, function(err, rows, fields) {
if (err) throw err;
res.render('index', {
title: 'Bewerber',
records: rows
});
});
});
module.exports = router;模型/bew.js
var pool = require('./databaseConnection');
var sorter = 'bewerber.bewerber';
var sql = 'SELECT * FROM' + pool.escapeId(sorter);
module.exports = sql;如果能更多地将他们分开,那就太好了--我们不知道这怎么可能。
https://stackoverflow.com/questions/38071895
复制相似问题