多个控制字段在node.js应用程序中不起作用

w80xi6nr  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(408)

我一直在使用nodejs、express、jade和mysql创建一个应用程序。问题是前端有两个select菜单,需要从两个mysql表中获取数据。我只能拿一个。我是新手,所以请帮帮我。
输出.jadefile:-

block sale
     select(id="cbosale", name="cbosale", class="custom-select custom-select-sm")
      option(value="") Select Sale
      each variable in data
       option(value=variable.SaleNo) #{variable.SaleNo}
    block state
     select(name="cbostate", id="cbostate", class="custom-select custom-select-sm")
      option(value="") Select State
      each state in data
       option(value=state.Statename) #{state.Statename}

应用程序.jsfile:-

app.get('/output', function(req, res){
     db.connect(function(err){
      db.query("SELECT DISTINCT(SaleNo) FROM tsales", function(err, result, fields){
       res.render('output', {title:"Output",data:result});
      })
      db.query("SELECT DISTINCT(Statename) FROM tstates", function(err, result, fields){
       res.render('output', {title:"Output",data:result});
      })
    })
   })

我知道我不知道该在哪个查询上显示哪个下拉列表,但我不知道怎么做。请帮帮我。

uyhoqukh

uyhoqukh1#

不能两次呈现同一页。 res.render(... 用于编译(放置值、生成视图)并将其发送到服务器。
可以在一条语句中使用多个查询。看看这个关于如何做的答案。然后可以使用这两个响应一起呈现页面。这个答案的要点是 var connection = mysql.createConnection({multipleStatements: true}); 请注意,根据文件
出于安全原因,禁用了对多个语句的支持(如果值未正确转义,则允许sql注入攻击)。
在进行任何查询之前,请确保清除服务器端的输入。一旦启用,您就可以通过使用分号分隔每条语句来使用多条语句执行查询 ; . 结果将是每个语句的一个数组。

相关问题