Невозможно реализовать операцию CRUD в mysql и Node JS - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь реализовать грубую операцию для моего приложения Node Js. Я использую mysql как по базе данных. Ниже приведен код. Можете ли вы все просмотреть, пожалуйста, и дайте мне знать, где я иду неправильно. Ниже мой шаблон Jade

  table#myTable.table.table-striped.table-bordered.table-sm.table-hover
         thead(style='background-color:indigo ; color:white; text-align: center;')
          tr
            th.th-sm No
            th.th-sm Product
            th.th-sm Owner Name
            th.th-sm Description
            th.th-sm Last update 
            th.th-sm Auditor
            th.th-sm Audit Date
            th.th-sm Any Action
            th.th-sm Result 
            th.th-sm Edit
            th.th-sm Delete

         tbody  
           each item in items ? items : [] 
             tr
               td=item.id
               td= item.product
               td= item.owner
               td= item.description
               td= item.date 
               td= item.Auditor
               td= item.adate 
               td= item.Action 
               td= item.result
               td
                a(href='/Edit/{item.id}')  Update 
               td
                a(href='/delete/{item.id}') Delete

Вот код node js

const express = require('express')
var mysql = require('mysql')
const bodyParser = require('body-parser')
const app = express()
var flash = require('connect-flash')
var session = require('express-session');

//...


app.use(session({ cookie: { maxAge: 60000 }, 
                  secret: 'woot',
                  resave: false, 
                  saveUninitialized: false}));


const port = 3000



app.use('/public', express.static(__dirname + '/public'));

app.use('/Dashboard', express.static(__dirname + '/views'));
app.use(flash());


app.use(bodyParser.urlencoded({extended: false}))
app.set('view engine', 'pug')

var connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: '',
  database: 'audit',
  timezone: 'Z'
})
connection.connect(function(err){


  if (err) throw err;
  connection.query("SELECT * FROM auditresult", function (err, result) {
    if (err) throw err;
    console.log('Data has been Exported successfully'+ result.length);


  });

})

// DELETE 
app.get('/delete/:id', function(req, res, next) {


connection.query("DELETE FROM auditresult WHERE id =' " +req.params.id+" ' ", function(err, result) {

                res.redirect('Report')
            })
        })


// Edit 

app.get('/Edit/:id', function(req, res, next){
    var id= req.params.id;
    var sql="SELECT * from auditresult where id= " +req.params.id+" ;"
    connection.query(sql, function(err,items,fields){
        res.render('Update',{ product: items[0]});

    })

});

Когда я нажимаю на Edit, я получаю это как URL "http://127.0.0.1 : 3000 / Изменить /% 7Bitem.id% 7D"Заранее спасибо за помощь

1 Ответ

0 голосов
/ 19 апреля 2020

Я думаю, вам нужно исправить это в шаблоне jade:

a (href = '/ Edit /' + item.id) и a (href = '/ delete /' + item.id)

...