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);
		};
	});
});