이번 포스팅에서는 글 상세보기 기능을 구현해볼 것이다.
conn.query(sql, function (err, topics, fields) {
res.render('view', {topics: topics});
});
부분을 아래와 같이 수정했다.
conn.query(sql, function (err, topics, fields) {
var id = req.params.id;
if (id) {
var sql = 'SELECT * FROM topic WHERE id=?';
conn.query(sql, [id], function (err, topic, fields) {
if (err) {
console.log(err);
} else {
res.render('view', {topics: topics, topic:topic[0]});
}
})
} else {
res.render('view', {topics: topics});
}
});
url에 id 값이 있으면 상세보기를 보여줘야하고, id 값이 없으면 view를 화면에 표시하면 되기 때문이다.
추가로 에러에 대한 예외처리를 해주었다.
예외가 발생하지 않았다면 topics라는 배열에 있는 값 중 한 개의 값만을 갖고 오기 위해 [0]을 사용하였다.
하지만 위의 단계까지만 한다면 글의 상세보기는 표시되지 않을 것이다.
그래서 view.pug 파일도 수정하여 글의 상세보기를 표시해보자.
article
if topic
h2= topic.title
= topic.description
div= 'by ' + topic.autor
else
h2 Welcome
| This is Web.
view.pug 파일의 article 부분을 다음과 같이 수정하여 글의 상세정보를 표시했다.
'javascript > node.js 웹애플리케이션 제작' 카테고리의 다른 글
[Node.js] 자바스크립트 데이터베이스 연동 - 웹애플리케이션 4 (0) | 2024.07.13 |
---|---|
[Node.js] 자바스크립트 데이터베이스 연동 - 웹애플리케이션 3 (0) | 2024.07.13 |
[Node.js] 자바스크립트 데이터베이스 연동 - 웹애플리케이션 1 (0) | 2024.07.13 |
[Node.js] 웹애플리케이션 제작 - 4 파일 업로드 (0) | 2024.07.09 |
[Node.js] 웹애플리케이션 제작 - 3 코드 개선 (0) | 2024.07.09 |