댓글/대댓글 작성하기
먼저 댓글의 경우 아래의 6개 항목이 insert 되어야 한다.
하지만, 실제로는 ✔된 3개의 항목들만 담아오면 된다.
1. 댓글 번호 -> 자동생성
2. 게시판 번호 -> ✔
3. 회원 번호 -> ✔
4. 댓글 내용 -> ✔
5. 작성일 -> 자동생성
6. 게시판 -> 게시글 번호로 카테고리를 조회해옴
대댓글은 댓글보다 까다로운데 그 이유는 원댓글(ref_rep_no)과 댓글 깊이(ref_level)를 받아와야 하기 때문이다. 대댓글의 경우 ✔된 4개의 항목들만 값을 담아오면 된다.
1. 댓글 번호 -> 자동생성
2. 게시글 번호 -> ✔
3. 회원 번호 -> ✔
4. 댓글 내용 -> ✔
5. 작성일 -> 자동생성
6. 원댓글 번호 -> ✔
7. 댓글 깊이 -> 원 댓글 : 1 , 대댓글 : 2
8. 게시판 -> 게시글 번호로 카테고리를 조회해옴
댓글 작성하기
insertReply.bo로 댓글 작성에 필요한 3가지 데이터(게시글 번호, 댓글 내용, 회원 번호)를 뽑아서 Ajax 처리했다.
만약 정상적으로 insert 되었다면 result > 0 일 것이고, status가 success라면 전체 댓글 리스트를 갱신하고, 기존에 작성했던 댓글 내용은 비워준다.
대댓글 작성하기
insertReplikes.bo로 대댓글 작성에 필요한 4가지 데이터(게시글 번호, 댓글 내용, 회원 번호, 원 댓글 번호)를 뽑아서 Ajax 처리했다.
댓글과의 차이점은 바로 원댓글 번호를 대댓글의 참조 번호로 가져오는 것이다. (하단의 원댓글의 참조 번호 가져오는 방법 참고) repNo라는 매개변수를 받아서 refRepNo에 repNo(원 댓글 댓글 번호)를 넘길 수 있는 것이다.
원 댓글의 참조 번호 가져오는 방법
미리 댓글 조회할 때 input type="hidden"으로 원 댓글 번호를 넣어놓고, inser-comments인 요소를 클릭할 때마다 원 댓글 번호($(this). prev(). val())를 매개변수로 하여 insertReplies를 호출했다.
다음과 같이 DB에 정상적으로 담긴다. 댓글 번호 461과 462 모두 같은 게시글에 작성된 댓글이지만, 461의 경우 참조 댓글 번호(REF_REP_NO)는 0이고 댓글 깊이(REF_LEVEL)은 1 임을 확인할 수 있다. 이어서 댓글 번호 462의 경우 참조 댓글 번호는 461(원 댓글 번호)이고, 댓글 깊이는 2 임을 확인할 수 있다.
'🌿 Project > 기능 구현' 카테고리의 다른 글
[LIKE5] 임시저장된 게시글 등록 (0) | 2021.09.25 |
---|---|
[TOAST UI Editor] 토스트 에디터 게시글 등록 | 임시저장 (3) | 2021.09.24 |
[TOAST UI Editor] 토스트 UI 기본적인 화면 구현하기 (0) | 2021.07.21 |
[JQuery] .toggleClass()를 이용해서 클래스 추가 및 삭제 (0) | 2021.07.12 |
[JavaScript] [레시피 상세보기 페이지] 재료 계산기 (0) | 2021.06.18 |
댓글