node js вывод запроса из mysql на html страницу

449
18 ноября 2017, 10:42

Здравствуйте, не могу реализовать вывод запроса из mysql на html страницу. В консоль все выводится хорошо, html страницу тоже создаю, все ок, но никак не могу реализовать вывод запроса на html страницу. Ниже привожу код

const mysql = require("mysql");
const connection = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "123456",
    database: 'databook'
});
connection.connect();
var queryString = 'SELECT * FROM books';
connection.query(queryString, function(err, rows, fields) {
    if (err) throw err;
    for (var i in rows) {
        console.log(rows[i].id, rows[i].name, rows[i].bookname, rows[i].year);
    }
});
var http = require('http'); 
http.createServer(function(req, res, rows) { 
    res.writeHead(200, {
        'Content-Type': 'text/html'
    });
    res.write(
        '<!DOCTYPE html>'
        +'<head>'
        +'<meta charset="utf-8">'
        +'<title>Books</title>'
        +'</head>'
        +'<body>'
        +'<table>';)
    for (var i in rows) {
        res.write('<tr><td>'+rows[i].id+'</td><td>'+rows[i].name+'</td><td>'+rows[i].bookname+'</td><td>'+rows[i].year+'</td>');
    }
    res.write(
        +'</table>'
        +'</body>'
        +'</html>');
    res.end();
}).listen(3000);
console.log('Server running at http://127.0.0.1:1337');
Answer 1

У вас rows

for (var i in rows) {
            res.write('<tr><td>'+rows[i].id+'</td><td>'+rows[i].name+'</td><td>'+rows[i].bookname+'</td><td>'+rows[i].year+'</td>');
        }

, будет undefined, вам надо объявить переменную

 var queryString = 'SELECT * FROM books';
        var findRows = []
connection.query(queryString, function(err, rows, fields) {
    if (err) throw err;
    findRows = rows
    for (var i in rows) {
        console.log(rows[i].id, rows[i].name, rows[i].bookname, rows[i].year);
    }
});

Только скорее всего запрос к mysql и поиск в ней асинхронный и сервер не будет дожидаться окончания поиска. Делайте обертку async/await надо запросом и и потом уже отдавайте страничку

READ ALSO
Правильная вёрстка сайта Materialize

Правильная вёрстка сайта Materialize

Можете помочь с исправлением ошибок в вёрстке, как это можно сделать более правильно с точки зрения Materializehttps://divinytytoffee

233
Qt Сборка драйвера QMYSQL на Mac

Qt Сборка драйвера QMYSQL на Mac

Здравствуйте ! Пытаюсь собрать проект с драйвером QMYSQLОткрываю справку, там указано следующее:

301
POST запрос на сервер android JAVA

POST запрос на сервер android JAVA

на сервер (в JSON файл) нужно передать значения переменныхКак это реализовать в android ?

262
Node в java - как решить проблему с кодом

Node в java - как решить проблему с кодом

Мучаюсь с этой дрянью уже кучу времени - не могу понять как исправитьМне нужно удалить из второго узла все ячейки в узле которые делиться...

245