SecurityYourFingers
@SecurityYourFingers
I make other things, but i know that without your

Как вывести данные из БД на страницу html?

Использую Node js для создания приложения
скрин приложения
5c1037e808bd7994855938.png

база данных находитсяна локальном sql server и имеет несколько таблиц. На рисунке выше красным выделены места, где должны быть данные из БД.

Подключаюсь к базе и могу (даже) вывести в консоль целую
таблицу
5c10390772c83788692702.png
с помощью
вот такого скрипта
var Connection = require('tedious').Connection;
var Request = require('tedious').Request;
var express = require('express');

// Create connection to database
var config = {
    server: "localhost",
    userName: 'bassb',
    password: '32460101',
    //driver: "msnodesqlv14",
    options: {
        database: "GIBDD",
        encrypt: false
    }
};
var connection = new Connection(config);

connection.on('connect', function (err) {
        if (err) {
            console.log(err);
        }
        else {
            queryDatabase();

        }
    }
)
//в этой функции я делаю select таблицы и вон, 
//где "request.on" вывожу в консоль, а мне надо выводить на страницу!
function queryDatabase() {
    request = new Request("SELECT * FROM officers", function (err, rowCount, rows) {
        console.log(rowCount + ' row(s) returned');
        //process.exit();
    });

    request.on('row', function (columns) {
        columns.forEach(function (column) {
            console.log("%s\t%s", column.metadata.colName, column.value);
            colOfficer.push(column.metadata.colName);
            valOfficer.push(column.value);
        });
    });

    connection.execSql(request);
}


Идея есть: данные из БД заносить в массив или объект и уже это передавать на страницу через шаблонизатор(использую ejs, т.к. на него первым наткнулся).
ВОПРОС В ТОМ, КАК ДАННЫЕ ИЗ БД ЗАПИСАТЬ В МАССИВ ИЛИ ОБЪЕКТ, чтобы потом можно было с его помощью выводить на страницу???

Может есть другой какой-то вариант? Покажите пожалуйста пример, как данные из БД передать на страницу.

Код подключения взят здесь
  • Вопрос задан
  • 3438 просмотров
Решения вопроса 1
SecurityYourFingers
@SecurityYourFingers Автор вопроса
I make other things, but i know that without your
var mass = [];

function queryDatabasePunish() {
    request = new Request(`SELECT punishments.num_punishment, breakdowns.coast, punishments.name_breakdown FROM breakdowns INNER JOIN punishments ON breakdowns.num_breakdown = punishments.num_breakdown WHERE (punishments.num_ptc = '${password}')`, function (err, rowCount, rows) {
        console.log(rowCount + ' row(s) вернулось из штрафов');
        
        PunCount = rowCount;
    });
    request.on('row', function (columns) {
        columns.forEach(function (column) {
            var rep = column.value;
                mass.push(rep);
                //console.log(mass);
        });
    });

    abcdef.execSql(request);
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Deissh
@Deissh
I like Python, Node.JS, Go, pain, bugs and my cat.
При рендеринге шаблона можно передавать параметры, данные. После через символы <%= и %> можно записать в шаблон данные. Более подробную информацию можно найти на официальном сайте EJS
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы