我有一个代码只提取1个结果,我需要它来提取所有结果(或将其限制为10个(。有人能帮我一下吗?或者给我指个正确的方向?
con.query(`SELECT * FROM events WHERE closed = 'No'`, (err, rows) => {
if (err) throw err;
let sql;
let eventID = rows[0].eventnumber;
let hostID = rows[0].host;
let description = rows[0].eventname;
let participants = rows[0].participants
const event = `Event ${eventID}: ${description} - Hosted by: <@` + hostID + `>. Participants: ${participants}`
const listEmbed = new Discord.MessageEmbed()
.setColor('#ff6600')
.setTitle('Events')
.setDescription(`${event}`)
message.channel.send(listEmbed);
con.query(sql);
});
数据库中的信息如下:
事件编号 | 主机 | 事件名称 | 已关闭>参与者 | |
---|---|---|---|---|
16 | 123456789012345678 | 测试raid | 是测试0测试1 | |
17 | 123456789012345678 | 测试raid | 否 | 测试2测试3测试4|
18 | 123456789012345678 | 测试raid | 否 | 测试5测试6测试7|
19 | 123456789012345678 | 测试raid是 | 测试0测试1 | |
20 | 12346789012345678 | 测试raid否 | 测试2测试3测试4 | |
21 | 12346789012345678 | 测试raid否 | 测试5测试6测试7 | |
22 | 12346789012345678 | 测试raid | 是测试0测试1||
23 | 12346789012345678 | 测试raid否 | 测试2测试3测试4 | |
24 | 12346789012345678 | 测试raid否 | 测试5测试6测试7 | |
25 | 12346789012345678 | 测试raid | 是测试0测试1||
26 | 12346789012345678 | >测试raid | 否 | 测试2测试3测试4 |
27 | 12346789012345678 | 测试raid否 | 测试5测试6测试7 |
需要添加.forEach,以便为每个事件发布一次。可能需要防洪。
con.query(`SELECT * FROM events WHERE closed = 'No'`, (err, rows) => {
if (err) throw err;
rows.forEach(row => {
const eventID = row.eventnumber;
const eventHost = row.host;
const eventDescription = row.eventname;
const eventParticipants = row.participants
const event = `**Event ${eventID}:** ${eventDescription}n**Hosted by:** <@` + eventHost + `>n**Participants:** ${eventParticipants}`
const listEmbed = new Discord.MessageEmbed()
.setColor('#ff6600')
.setTitle('Events')
.setDescription(`${event}`)
message.channel.send(listEmbed);
});
});