如何为另一个查询的每个结果正确执行MySQL查询?

时间:2019-10-24 20:08:09

标签: mysql node.js

我需要根据之前执行的查询结果对MySQL表执行查询。

我在Electron上使用NodeJS。我尝试将“ for”循环替换为“ forEach”循环。由于某种原因,该代码之所以有用,是因为它提供了一个结果,即最后一个结果。我希望MySQL表至少有10个结果,但它会返回最后一个。

con.query("SELECT * FROM TABLE WHERE row=?",[variable], function (err, result, fields) {
    for (var i in result) {
        con.query("SELECT * FROM ANOTHER_TABLE WHERE row=?",[result[i].id], function (err, newresult, fields) {
            var str = '<ul>'

            for (var f in newresult) {
                str += '<li><img src="' + newresult[f].img + '"><span>' + newresult[f].title + '</span></li>';
            }

            str += '</ul>';
            setTimeout(function(){ document.getElementById("element").innerHTML = str; }, 100);
        });
    }
});

当我需要它返回所有结果时,此代码仅返回第二个查询的一个结果。

我在第一个查询中添加了console.log()行,只是为了检查第一个查询是否获得了所有结果。

0 个答案:

没有答案