使用nodejs express和ejs发布mysql值返回

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

我有一个像这样的mysql表

id  photo_name  mob_no Status      url
   4   one          3434  OK          http://foofo
   5   two          434   Rejected    http://barbar
   6   three         434   Pending     http://bazbaz

我正在用ejs文件打印它的值,但我想显示3个按钮,允许将状态更改为:approve、reject或pending让我们假设它将返回查询:

UPDATE `scans` SET `status` = 'OK' WHERE `id` = 6

不幸的是,我找不到使用post方法并仅通过点击按钮返回这些值的方法。我试着用post方法来填充表单,但是没有用,我也不想用文本来填充表单,只需按一个基本返回字符串的按钮。
我把table印成这样:

app.get('/home/xray', user.xray)
  exports.xray = function(req, res){
  db.query('SELECT * FROM scans', function (err, result) {
        if (err) {
            throw err;
        } else {

            res.render('xray.ejs', {result});
        }
    });
    };
fquxozlt

fquxozlt1#

您可以通过查询字符串向同一路由发送两个参数。按照以下步骤操作:
节点路径:

app.get('/home/xray', user.xray)
  exports.xray = function(req, res){
  if(req.query.id && req.query.status) {
    // UPDATE QUERY WHERE ID = req.query.id and STATUS = req.query.status
  }
  db.query('SELECT * FROM scans', function (err, result) {
    if (err) {
      throw err;
    } else {
      res.render('xray.ejs', {result});
    }
  });
};

模板ejs:

<a href="?id={{currentPhotoId}}&status=OK">Status Ok</a>
<a href="?id={{currentPhotoId}}&status=Rejected">Status Rejected</a>
<a href="?id={{currentPhotoId}}&status=Pending">Status Pending</a>

为了确保和提高安全性,您可以检查 status 通过查询字符串传递,但应该可以。

相关问题