当前位置: 首页 > 知识库问答 >
问题:

MySQL-Discord-Post表/结果

司徒翼
2023-03-14

我有一个代码,只拉一个结果,我需要它拉所有的结果(或限制为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);
 });

数据库提供的信息如下:

编辑:

所以我找到了一种方法,让它显示10个事件,但它看起来很丑,我知道有一个更好的方法,就是似乎无法找到它。此外,如果没有10个结果符合条件,则代码会出错。

    con.query(`SELECT * FROM events WHERE closed = 'No'`, (err, rows) => {
        if (err) throw err;

        let sql;
        let firstID = rows[0].eventnumber;
        let firstHost = rows[0].host;
        let firstDescription = rows[0].eventname;
        let firstParticipants = rows[0].participants;
        let secondID = rows[1].eventnumber;
        let secondHost = rows[1].host;
        let secondDescription = rows[1].eventname;
        let secondParticipants = rows[1].participants;
        let thirdID = rows[2].eventnumber;
        let thirdHost = rows[2].host;
        let thirdDescription = rows[2].eventname;
        let thirdParticipants = rows[2].participants;
        let fourthID = rows[3].eventnumber;
        let fourthHost = rows[3].host;
        let fourthDescription = rows[3].eventname;
        let fourthParticipants = rows[3].participants;
        let fifthID = rows[4].eventnumber;
        let fifthHost = rows[4].host;
        let fifthDescription = rows[4].eventname;
        let fifthParticipants = rows[4].participants;
        let sixthID = rows[5].eventnumber;
        let sixthHost = rows[5].host;
        let sixthDescription = rows[5].eventname;
        let sixthParticipants = rows[5].participants;
        let seventhID = rows[6].eventnumber;
        let seventhHost = rows[6].host;
        let seventhDescription = rows[6].eventname;
        let seventhParticipants = rows[6].participants;
        let eigthID = rows[7].eventnumber;
        let eigthHost = rows[7].host;
        let eigthDescription = rows[7].eventname;
        let eigthParticipants = rows[7].participants;
        let ninethID = rows[8].eventnumber;
        let ninethHost = rows[8].host;
        let ninethDescription = rows[8].eventname;
        let ninethParticipants = rows[8].participants;
        let tenthID = rows[9].eventnumber;
        let tenthHost = rows[9].host;
        let tenthDescription = rows[9].eventname;
        let tenthParticipants = rows[9].participants;

        const firstEvent = `**Event ${firstID}:** ${firstDescription}\n**Hosted by:** <@` + firstHost + `>\n**Participants:** ${firstParticipants}`
        const secondEvent = `**Event ${secondID}:** ${secondDescription}\n**Hosted by:** <@` + secondHost + `>\n**Participants:** ${secondParticipants}`
        const thirdEvent = `**Event ${thirdID}:** ${thirdDescription}\n**Hosted by:** <@` + thirdHost + `>\n**Participants:** ${thirdParticipants}`
        const fourthEvent = `**Event ${fourthID}:** ${fourthDescription}\n**Hosted by:** <@` + fourthHost + `>\n**Participants:** ${fourthParticipants}`
        const fifthEvent = `**Event ${fifthID}:** ${fifthDescription}\n**Hosted by:** <@` + fifthHost + `>\n**Participants:** ${fifthParticipants}`
        const sixthEvent = `**Event ${sixthID}:** ${sixthDescription}\n**Hosted by:** <@` + sixthHost + `>\n**Participants:** ${sixthParticipants}`
        const seventhEvent = `**Event ${seventhID}:** ${seventhDescription}\n**Hosted by:** <@` + seventhHost + `>\n**Participants:** ${seventhParticipants}`
        const eigthEvent = `**Event ${eigthID}:** ${eigthDescription}\n**Hosted by:** <@` + eigthHost + `>\n**Participants:** ${eigthParticipants}`
        const ninethEvent = `**Event ${ninethID}:** ${ninethDescription}\n**Hosted by:** <@` + ninethHost + `>\n**Participants:** ${ninethParticipants}`
        const tenthEvent = `**Event ${tenthID}:** ${tenthDescription}\n**Hosted by:** <@` + tenthHost + `>\n**Participants:** ${tenthParticipants}`

        const listEmbed = new Discord.MessageEmbed()
            .setColor('#ff6600')
            .setTitle('Events')
            .setDescription(`${firstEvent}\n\n${secondEvent}\n\n${thirdEvent}\n\n${fourthEvent}\n\n${fifthEvent}\n\n${sixthEvent}\n\n${seventhEvent}\n\n${eigthEvent}\n\n${ninethEvent}\n\n${tenthEvent}`)


        message.channel.send(listEmbed);

        con.query(sql);
    });

我真的很感激你的帮助。

谢谢。

共有1个答案

宋英杰
2023-03-14

需要添加一个。每个事件,以便它将发布一次。可能需要防洪。

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);
        });
    });
 类似资料:
  • 我有一个discord bot,我正在处理一个命令,该命令从mysql数据库中显示关于一个字符的信息(通过提供字符名)。它工作得很好,但如果我提供了一个数据库中不存在的名称,如,则bot会崩溃。所以我的问题是。希望你能理解我的意思。 代码如下: 如果你需要我提供你更多的信息,让我知道。 感谢任何帮助!

  • 主要内容:DESCRIBE:以表格的形式展示表结构,SHOW CREATE TABLE:以SQL语句的形式展示表结构创建完数据表之后,经常需要查看表结构(表信息)。在 MySQL 中,可以使用 DESCRIBE 和 SHOW CREATE TABLE 命令来查看数据表的结构。 DESCRIBE:以表格的形式展示表结构 DESCRIBE/DESC 语句会以表格的形式来展示表的字段信息,包括字段名、字段数据类型、是否为主键、是否有默认值等,语法格式如下: DESCRIBE <表名>; 或简写成: D

  • 问题内容: 我正在使用Django Forms通过POST进行过滤/多面搜索,我想使用Django的paginator类来组织结果。在各个页面之间传递客户端时,如何保留原始请求?换句话说,当我将另一个页面的GET请求传递回我的视图时,似乎丢失了POST数据。我已经看到一些使用AJAX仅刷新页面结果块的建议,但是我想知道是否存在Django本地机制来执行此操作。 问题答案: 如果要在以后的请求中访问

  • 本文向大家介绍MySQL修改表结构操作命令总结,包括了MySQL修改表结构操作命令总结的使用技巧和注意事项,需要的朋友参考一下 表的结构如下: 删除列: 添加列: 修改列,把number修改为bigint: 或者是把number修改为id,类型为bigint: 添加主键: 删除主键: 添加唯一索引: 为name这一列创建了唯一索引,索引的名字是name_unique_index. 添加普通索引:

  • 本文向大家介绍mysql中复制表结构的方法小结,包括了mysql中复制表结构的方法小结的使用技巧和注意事项,需要的朋友参考一下 mysql中用命令行复制表结构的方法主要有一下几种:  1.只复制表结构到新表 或者 2.复制表结构及数据到新表 3.复制旧表的数据到新表(假设两个表结构一样)  4.复制旧表的数据到新表(假设两个表结构不一样)

  • 问题内容: 我需要运行类似的查询: 但是我希望子选择返回逗号分隔的列表,而不是数据列。这有可能吗?如果可以,怎么办? 问题答案: 您可以使用GROUP_CONCAT执行该操作,例如