add 버튼을 통해서 글을 작성했을 때, MySQL 에 저장되는 기능을 구현해보자.
우선, 데이터르 받아오기 위해서 app.get 을 먼저 작성한다.
(app.get('/topic/add'))
app.get('/topic/add',function(req,res){
var sql = "SELECT id,title FROM topic";
conn.query(sql, function(error,topics,fields){
if(error){
console.log(error);
res.status(500).send('Internal Server Error');
}
res.render('add', {
topics:topics
})
});
});
add.jade 의 내용을 수정한다.
(add.jade)
ul
each topic in topics
li
a(href='/topic/'+topic.id)topic.title
article
form(action='/topic/add' method='post')
p
input(type='text' name='title' placeholder='title')
p
textarea(name='description' placeholder='description')
p
input(type='text' name='author' placeholder='author')
p
input(type='submit')
그렇다면, 이제는 app.post('/topic/add') 를 작성해준다.
app.post('/topic/add')
app.post('/topic/add', function(req,res){
var title = req.body.title;
var description = req.body.description;
var author = req.body.author;
var sql = "INSERT INTO topic(title,description,author) VALUES(?,?,?)";
conn.query(sql, [title,description,author], function(error,results,fields){
if(error){
console.log(error);
res.status(500).send('Internal Server Error');
}else{
res.redirect('/topic/'+results.insertId);
};
});
});