[참고] 뽀~너스! 댓글(코멘트) 달기 구현 원리
참고로 댓글은 답변형 게시판과는 또 다른 것입니다.
일반적으로 댓글이라고 하면 어떤 글에 대해 짤막하게 답변을 다는 것을 말하는데, 원본 글이 상단에 보이면서 하단에 여러 개의 댓글이 함께 보이는 것을 말합니다.
답변 글이 또 한번의 클릭을 해야 볼 수 있는데 반해, 댓글은 원 글의 내용을 보면서 바로 확인할 수 있다는 점에서 훨씬 편리한 커뮤니케이션 방법이라고 할 수 있습니다.

아래 그림은 제가 만든 DJ보드에서 댓글 두 개를 달았을 때의 모습입니다.

보시다시피, 원래의 글 밑에 두 개의 댓글이 바로 보이며, 또 댓글을 바로 달 수 있는 입력 폼이 함께 있습니다.
원리는 비교적 간단합니다. 답변형 게시판을 구현하는 것에 비하면 간단하다고 할 수 있죠.
그러나 답변형 게시판은 기존 테이블에 필드 두 세 개를 추가해서 만들 수 있는 반면, 댓글 게시판은 댓글을 저장하기 위한 별도의 테이블을 생성시켜야 합니다(꼭 이렇게 해야한다는 것은 아니지만...).
예를 들어, 자유게시판용 free 테이블이 있다면,
어떻습니까?
원리가 어느 정도 이해되시나요?

보다 자세한 구현 방법은 답변형 게시판 강좌가 끝난 다음에 하겠습니다.
이상, 선선한 일요일 아침 동주아빠 손병목이었습니다.

일반적으로 댓글이라고 하면 어떤 글에 대해 짤막하게 답변을 다는 것을 말하는데, 원본 글이 상단에 보이면서 하단에 여러 개의 댓글이 함께 보이는 것을 말합니다.
답변 글이 또 한번의 클릭을 해야 볼 수 있는데 반해, 댓글은 원 글의 내용을 보면서 바로 확인할 수 있다는 점에서 훨씬 편리한 커뮤니케이션 방법이라고 할 수 있습니다.

아래 그림은 제가 만든 DJ보드에서 댓글 두 개를 달았을 때의 모습입니다.

보시다시피, 원래의 글 밑에 두 개의 댓글이 바로 보이며, 또 댓글을 바로 달 수 있는 입력 폼이 함께 있습니다.
원리는 비교적 간단합니다. 답변형 게시판을 구현하는 것에 비하면 간단하다고 할 수 있죠.
그러나 답변형 게시판은 기존 테이블에 필드 두 세 개를 추가해서 만들 수 있는 반면, 댓글 게시판은 댓글을 저장하기 위한 별도의 테이블을 생성시켜야 합니다(꼭 이렇게 해야한다는 것은 아니지만...).
예를 들어, 자유게시판용 free 테이블이 있다면,
- 이 테이블의 댓글을 저장하기 위한 free_comment 테이블을 따로 만들어 둡니다.
- free_comment 테이블은 대개 다음과 같은 필드로 구성하면 됩니다.
- 댓글 고유 번호(식별자) - 예) number
- 원 글의 번호를 저장하기 위한 필드 - 예) parent
- 댓글 작성자 이름, 아이디, 패스워드 등 - 예) name, userid, password
- 실제 댓글이 저장되는 부분 - 예) comment
- 댓글 작성자 IP 및 작성 시간 등 - 예) ip, wirtetime
이제 어느 정도 감~이 잡히셨나요?
이제 어떻게 해야할까요?
- 댓글 고유 번호(식별자) - 예) number
- 글 내용을 보는 화면(view.php) 하단에 댓글을 달 수 있는 입력 폼을 추가해야 하겠죠.
- 그리고 그 입력 폼에서 전달된 값을 저장할 수 있는 프로그램(예 comment_ok.php)을 만들어야겠지요.
- 글 내용을 보는 화면(view.php)에서는, 기본 글 내용 뿐만 아니라 연관된 댓글도 함께 보여줄 수 있는 로직을 구현해야겠지요.
예를 들어, free 게시판의 3번 글의 내용을 보여 준다면, free_comment 테이블에서 parnet 값이 3 인 내용도 모두 읽어와 함께 보여 주면 됩니다.
- 마지막으로 자신이 작성한 댓글을 삭제할 수 있는 기능을 추가하면... 끝~~~~
어떻습니까?
원리가 어느 정도 이해되시나요?

보다 자세한 구현 방법은 답변형 게시판 강좌가 끝난 다음에 하겠습니다.
이상, 선선한 일요일 아침 동주아빠 손병목이었습니다.
