이번 파트에서는, edit.jade 에서 form 을 통해서 데이터를 보내는 라우터를 만들 것이다.

/topic/:id/edit 의 형식으로 이루어진 라우터이다.

app.post(['/topic/:id/edit'], function(req, res) {
  var title = req.body.title;
  var description = req.body.description;
  var author = req.body.author;
  var id = req.params.id;
  var sql ='UPDATE topic SET title=?, description=?, author=? WHERE id=?';
  conn.query(sql,[title, description, author, id],function(error,results,fields){
    if (error) {
      console.log(error);
      res.status(500).send('Internal Server Error');
    } else {
      // 에러가 없다면, /topic/:id 로 들어간다.
      // 수정한 내용을 확인하기 위해서
      res.redirect('/topic/:id');
    }
  });
});

mysql 에 들어가서 확인해보도록 하자.

mysql> select * from topic;
+----+------------+-----------------------------+--------+
| id | title      | description                 | author |
+----+------------+-----------------------------+--------+
|  1 | Nodejs     | Server side Javascript      | Juni_K |
|  2 | Javascript | Javascript is Web language  | Juni_K |
|  5 | Express    | Web framework               | Juni_K |
|  7 | Supervisor | Watcher                     | Juni_K |
|  9 | edit test  | edit!!!                     | Juni_K |
| 10 | edit!      | 편집 됐니??
               | Juni_K |
+----+------------+-----------------------------+--------+
6 rows in set (0.00 sec)

편집한 데이터가 mysql 에 들어있는 것을 확인할 수 있다.


기능 구현 동영상

편집 기능 구현 동영상

편집 기능 구현 동영상