이번 파트에서는, 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 에 들어있는 것을 확인할 수 있다.
편집 기능 구현 동영상