mysql operation with node.js

Part One: Add data to database

const querystring = require("querystring")

app.post('/useradd', (req, res) => { // 'useradd' is the name of this interface, 'post' is the method of this interface
  if(req.method.toUpperCase()=="POST"){
    var str='';
    // Deal with datas from front end
    req.on("data",chunk=>{
        str+=chunk;
    })
    req.on("end",()=>{
        let newInfo = querystring.parse(str)
        if(newInfo.reWritePassWord == newInfo.password) {
          delete newInfo.reWritePassWord
          queryFunc(newInfo, res)
        } else {
          queryFunc(newInfo, res, 'error')
        }
    })
  }
})

 

let queryFunc = function (newInfo, res, status) {
  if(status == 'error') {
    res.json({ // Send datas back to front end
      err_code: 1001,
      err_message: '兩次輸入的密碼不相同',
      affectedRows: 0
    })
  } else {
    connection.query('INSERT INTO ' + userTable + ' SET ?', newInfo, (err, result) => { // insert data into certain table
      if(err) {
        res.json({
          err_code: 1,
          err_message: '添加失敗',
          affectedRows: 0
        })
      } else {
        res.json({
          err_code: 0,
          err_message: '添加成功',
          affectedRows: result.affectedRows
        })
      }
    })
  }
}

$.ajax({ // Get data in front end
          type: 'post',
          url: 'http://localhost:3600/useradd',
          data: formObj,
          success: res => {
            console.log('成功回調')
            console.log(res)
          },
          error: err => {
            console.log(err)
          }
        })

 

Part Two: delete data from database

app.delete('/useromit', (req, res) => {
  const id = req.query.id
  let queryStr
  if(id.split(',').length > 1) { // Multiple deletion
    queryStr = 'DELETE FROM ' + userTable + ' WHERE id in (' + id + ')'
  } else { // Delete one piece of data
    queryStr = 'DELETE FROM ' + userTable + ' WHERE id = ' + id
  }
  connection.query(queryStr, (err, result) => {
    if(err) {
      res.json({
        err_code: 1,
        err_message: err,
        affectedRows: 1
      })
    } else {
      res.json({
        err_code: 0,
        err_message: '刪除成功',
        affectedRows: 0
      })
    }
  })
})

$.ajax({
          type: 'delete',
          url: 'http://localhost:3600/useromit' + '?id=' + itemId, // Post single piece of data in front end
          success: res => {
            console.log('刪除成功')
            console.log(res)
          },
          error: err => {
            console.log(err)
          }
        })

 

$.ajax({
          type: 'delete',
          url: 'http://localhost:3600/useromit' + '?id=' + window.checkedGroup.join(','), // Post many pieces of data in front end
          success: res => {
            console.log('刪除成功')
            console.log(res)
          },
          error: err => {
            console.log(err)
          }
        })

 

Part Three:Update data in database

app.put('/musicUpdate', (req, res) => {
  const id = req.query.id
  var str='';
  req.on("data",chunk=>{
      str+=chunk;
  })
  req.on("end",()=>{
      let newInfo = querystring.parse(str)
      connection.query('UPDATE ' + dbTable + ' SET ' + 'singer = ' + '"' + newInfo.singer + '"' + ',title = ' + '"' + newInfo.title + '"' + ',url = ' + '"' + newInfo.url + '"' + ' WHERE id = ' + id, (err, result) => {
        if(err) {
          res.json({
            err_code: 1,
            err_message: err,
            affectedRows: 1
          })
        } else {
          res.json({
            err_code: 0,
            err_message: '修改成功',
            affectedRows: 0
          })
        }
      })
  })
})

$.ajax({
          type: 'put',
          url: 'http://localhost:3600/musicUpdate' + '?id=' + window.currentId,
          data: musicForm,
          success: res => {
            console.log('成功回調')
            console.log(res)
          },
          error: err => {
            console.log(err)
          }
        })

 

Part Four: Search data from database

connection.query('SELECT * FROM ??', [userTable], (err, data) => { // Get data list from database
  if(err) {
    throw err
  } else {
    app.get('/user', (req, res) => {
      res.status(200)
      res.json(data)
    })
  }
})

$.ajax({
          type: 'get',
          url: 'http://localhost:3600/user',
          success: res => {
            console.log('所有的用戶')
            console.log(res)
            let htmlString = ''
            res.forEach((item, index) => {
              htmlString += '<li class="demo-li-item" onClick="removeItem(' + item.id + ')">' + item.user_name + '(' + item.id + ')' + '</li>'
            })
            document.getElementById('users-wrapper').innerHTML = htmlString
          },
          error: err => {
            console.log(err)
          }
        })

app.get('/musicDetail', (req, res) => { // Get detail about certain data
  const id = req.query.id
  connection.query('SELECT * FROM ' + dbTable + ' WHERE id = ' + id, (err, data) => {
    if (err) {
      throw err
    } else {
      res.status(200)
      res.json(data)
    }
  })
})

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章