Wir versuchen, Daten von MySQL abzurufen, um es in HTML/Jade anzuzeigen. Leider können wir die Datensätze in der HTML-Tabelle nicht anzeigen.node.js: Ausgabe mysql (npm) Pool zu html oder jade
Da wir den MySQL-Pool verwenden, wird es immer schwieriger. Hier ist unser Code soweit. (Verwendet Skelett Build Express Generator)
/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;
(Kommentieren Sie die für-of und console.log wird die SQL-Zeilen drucken)
Routen/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 wäre besser)
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
Wir haben mehrere Tests durchgeführt und es scheint, als ob die index.js nicht die Daten von 'bew.js' bekommt?
Ja das ist eine wirklich nette Lösung. Danke fürs Schreiben. – user3772108
Ist es möglich, mehr als eine Funktion in 'router.get()' vor 'function (req, res, next)' zu verwenden? – user3772108
Ja, es ist möglich, vor dem Rückruf mehrere Funktionen zu haben. –