Как я могу (изменить этот код) отображать данные из mysql с узлом js и express? - PullRequest
0 голосов
/ 30 апреля 2018

Итак, я наткнулся на этот код, когда искал способ отобразить все данные из MySQL на HTML-странице, используя Node JS.

Тем не менее, я искал способ отображения данных, но с использованием экспресс, и этот код использует модуль HTTP.

Я чрезвычайно новичок в Node JS и HTTP, поэтому я не знаю, как их использовать. Тем не менее, я немного больше знаком с экспрессом, поэтому, если кто-нибудь может помочь мне изменить этот код с использованием модуля HTTP для экспресс, это действительно поможет мне.

const http = require('http');
const mysql = require('mysql');

const pool = mysql.createPool({
    host: '127.0.0.1',
    user: 'user1',
    password: '1234',
    database: 'mydb',
    charset: 'utf8'
});

//html string that will be send to browser
var reo ='<html><head><title>Recipes</title></head><body><h1>Node.js MySQL 
Select</h1>{${table}}</body></html>';

//sets and returns html table with results from sql select
//Receives sql query and callback function to return the table
function setResHtml(sql, cb){
    pool.getConnection((err, con)=>{
        if(err) throw err;

        con.query(sql, (err, res, cols)=>{
            if(err) throw err;

             var table =''; //to store html table

            //create html table with data from res.
            for(var i=0; i<res.length; i++){
                table +='<table border="1"><tr><th>Nr.</th><th>Name</th><th>Servings</th></tr><tr><td>'+ (i+1) +'</td>' +
                '<td>'+ res[i].name +'</td><td>'+ res[i].servings +'</td></tr></table><br>';
        }
        table ='<div border="1">'+ table +'</div>';

        con.release(); //Done with mysql connection

        return cb(table);
    });
});
}

let sql ='SELECT * from recipes';

//create the server for browser access
const server = http.createServer((req, res)=>{
    setResHtml(sql, resql=>{
    reo = reo.replace('{${table}}', resql);
    res.writeHead(200, {'Content-Type':'text/html; charset=utf-8'});
    res.write(reo, 'utf-8');
    res.end();
    });
});

server.listen(8080, ()=>{
console.log('Server running at //localhost:8080/');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...