Я работаю над побочным проектом, используя реакцию и express.
Я хочу отправить данные о перетаскивании за 7 дней определенного c элемента в моей базе данных в списке для поиска.
Итак, я написал такой код.
Используйте date(droped_at) = date(date_add(now(),interval -*${i}* DAY)
и для l oop.
for (var i = 1; i < 8; i++) {
var resultSql1 = `SELECT T.channel_name, T.channel_number, T.VALUE, T.num from(SELECT itemId, channel_name, channel_number, COUNT(*) AS VALUE, ROW_NUMBER() over(order by value DESC) NUM FROM item_drop_exception WHERE itemId = (SELECT itemId FROM item_exception WHERE itemid = '${id}') AND date(droped_at) = date(date_add(now(),interval -${i} DAY)) GROUP BY channel_name, channel_number) T WHERE T.NUM<=3 ORDER BY T.num ORDER BY T.NUM`
db.query(resultSql1, id, (err, data) => {
if (!err) {
list1.push(data);
if (list1.length == 7) {
res.send(list1);
}
}
else {
res.send(err);
}
})
}
Но это не работает.
Я знаю, что это неправильный метод.
Я думаю, что следующий l oop произойдет до того, как появятся результаты запроса, но я не знаю, что делать.
Правильно ли вводить данные за семь дней вот так?
Я хочу отправить данные на передний план, когда все результаты будут добавлены и завершены.
Это непросто, потому что я самоучка, мне нужна помощь.