用node.js、express和jade中的mysql值填充select菜单

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

我是node.js的新手,我想知道如何用mysql值填充页面加载的select菜单。我正在使用nodejs、expressjs和jade/pug。我在谷歌找不到任何解决方案。
玉file:-

  1. block sale
  2. form(action = "/get_sale", method = "GET")
  3. select(id="cbosale", name="cbosale", class="custom-select custom-select-sm")
  4. each sale in ["24", "34"]
  5. option(value="#{sale}") #{sale}

应用程序.jsfile:-

  1. app.get('/get_sale', function(req, res){
  2. db.connect(function(err){
  3. db.query("SELECT DISTINCT(SaleNo), Season FROM tcatalogue",function(err, result, fields){
  4. Object.keys(result).forEach(function(key){
  5. var row = result[key];
  6. console.log(row.SaleNo)
  7. })
  8. })
  9. })
  10. })

应该从app.js文件中获取值,而不是jade文件中的静态值。

ejk8hzay

ejk8hzay1#

当您尝试获取路由时,需要在数据库上启动select查询,并将数据与render一起发送到帕格,如下所示:

  1. app.get('/output',function(req,res,next){
  2. con.query("SELECT * FROM tableName", function (err, result, fields)
  3. {
  4. if (err)
  5. throw err;
  6. else
  7. res.render('output',{page_title:"Output",data:result});
  8. });
  9. });

现在你的 output.pug 页面将产生的数据,您可以填充他们作为您的选择菜单的选项。

  1. html
  2. head
  3. title= 'Output'
  4. body
  5. select
  6. each variable in data
  7. option(value=variable.saleNo)

在帕格中正确地缩进代码。

展开查看全部

相关问题