gpt4 book ai didi

javascript - node.js:将mysql(npm)池输出到html或jade

转载 作者:行者123 更新时间:2023-11-29 11:26:48 25 4
gpt4 key购买 nike

我们正在尝试从 mysql 检索数据以将其显示在 html/jade 中。不幸的是,我们无法在 HTML 表格上显示记录。

由于我们使用 mysql 池,事情变得更加困难。这是到目前为止我们的代码。 (使用express生成器构建的骨架)

/models/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;

views/index.jade(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'获取数据?

最佳答案

我将其进行了一些分解,以使其更易于阅读。这就是我解决问题的方法。

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
});
});

这样,如果您想要实现的话,您可以将它们拆分到不同的文件中。

关于javascript - node.js:将mysql(npm)池输出到html或jade,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38071895/

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