Как поместить результат из SQL-запроса в выпадающий список? - PullRequest
0 голосов
/ 30 января 2019

Я использую const

mysql = require('mysql2') 

и запрашиваю мою базу данных с

connection.query(query, function(err, result) {
    if(err) return callback(err);
    callback(null, result);
});

, это работает достаточно хорошо, я получаю результаты.Однако затем я пытаюсь передать результаты, чтобы выразить их с помощью

app.get('/', (req, res) => {
    (sql code goes here), store it in result
      res.render('search', {
        dropdowns: [{
            name: 'Name1',
            title: 'Name1',
            options: result
            ...
            }

. Я получаю выпадающий список с правильным количеством записей, однако все они пусты / "" (.).

Если я использую console.log, он говорит:

[15:52:07] [log] [объект объекта], [объект объекта], [объект объекта], [объектObject] ".

Я также попытался создать объекты javascript и JSON.stringify безуспешно. Если я жестко кодирую результаты SQL-запроса, он работает .. Параметры должны выглядеть следующим образом:

{"value":"foo","title":"foo!"}.

РЕДАКТИРОВАТЬ: Вот как выглядит SQL-код. Там, где ниже рендер, вставляется res.render.

function getMessage(query, callback) {
    doQuery(query, function (err, result) {
        if(err || !result.length) return callback('error or no results');
        callback(null, result);
    });
}

function doQuery(query, callback) {
    connection.query(query, function(err, result) {
        if(err) return callback(err);
        callback(null, result);
    });
};

getMessage(combinedQ, function(err, result){
    maxAvgift=result[0].maxAvgift;
    minAvgift=result[0].minAvgift;
    maxRum=result[0].maxRum;
    minRum=result[0].minRum;
    maxArea=result[0].maxArea;
    minArea=result[0].minArea;
    maxPris=result[0].maxPris;
    minPris=result[0].minPris;

    getMessage(disctinctLan, function(err, result){
      createJSON(result, lanList);
    });
    getMessage(disctinctObjekttyp, function(err, result){
      createJSON(result, objekttypList);
    });

    getMessage(testQ, function(err, result){
      console.log(result);
      createResultArray(result);

      render()
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...