웹마스터 팁

우선. 게시판이라면...

no <- 고유번호 필드임미다.
sortno <- 정렬 필드임미다.  답글의 가장 핵심이라구 할수 있져.. -_-;;
depth <- 깊이필드임미다.    답글이면. 한단계씩 들어가게 하려구. -_-;;
head <- 부모게시물의 번호를 기억하는 필드임미다.   답글달린 게시판 안지워지게하려궁 -_-;;
father <- 가장 윗부모 게시물의 필드임미다.  관련 게시물보기 구현하려구.. -_-;;
title <- 제목임미다.. 제가 설명하기 편하게 하려구 -_-;;


적어도 위와같이 필요하겠죠...
그럼...
no   sortno    depth   head    father    title
1       1        0       0        0       안냐세염..

하나의 게시물을 쓰면 위와같이 되져... 여기서 하나를 더 기록하게 되면..
no는 그냥 추가시키되.... sort는

기존 게시물중 가장 큰값을 가져와서 +1 을 더해 추가시킵니다..
즉..
select max(sortno) from 테이블명
으로 가져오면 되겠져...

no   sortno    depth   head    father    title
1       1        0       0        0     안냐세염..
2       2        0       0        0     반갑습니다.    
3       3        0       0        0     감사함미다. -_-;;

여기서.. 1번글의 답변을 쓴다고 가정하죠...
그러면.. 1번글의 sortno보다 큰 값들은 전부 1을 증가시킵니다.
update board set sortno=sortno+1 where sortno>=1

그런뒤에.. depth는 1로.. head는 1번글의 번호값을.... father에는 1번글을 기록합니다.

no   sortno    depth   head    father    title
1       2        0       0        0     안냐세염..
2       3        0       0        0     반갑습니다.    
3       4        0       0        0     감사함미다. -_-;;
4       1        1       1        1     re> 1번글 답변입니다..

그리구 보여줄때... 정렬순서를 order by sortno desc로 보여주면 되겠죠..

대강 답글개념을 정리해봤습니다. -_-;;
어디까지내 제가 게시판 작성하면서.. 생각해본 알고리즘이라.. 더 잘짜시는 분들은 다른 방법도 있을겁니다.
참고로 제로보드 3.x까지는 이 방식을 이용했는데..
4.x부터는 값이 거꾸로 떨어지게끔 했더군요...

흠흠.. 다음에는 저두 그러케 해보고 싶다는.. 쿨럭!!!