웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
[추천 소스] 게시판 답글 알고리즘..(서기생각 -_-;;)
2002.04.10 04:59
우선. 게시판이라면...
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부터는 값이 거꾸로 떨어지게끔 했더군요...
흠흠.. 다음에는 저두 그러케 해보고 싶다는.. 쿨럭!!!
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부터는 값이 거꾸로 떨어지게끔 했더군요...
흠흠.. 다음에는 저두 그러케 해보고 싶다는.. 쿨럭!!!
댓글 2
제목 | 글쓴이 | 날짜 |
---|---|---|
스킨 시스템 구축.(1탄 읽어오기) [11] | 씨파개 | 2003.05.13 |
Wake On Lan 기능 사용하기... [3] | sMokaHallo | 2003.05.17 |
썸네일 자동생성하고 이미지 사이즈 자동 줄이기... [6] | sMokaHallo | 2003.05.21 |
홈페이지의 내용을 DB에 담기 [15] | 세죠위그이 | 2003.05.30 |
체크박스등으로 배열로 변수를 넘길때.. [1] | myself2 | 2003.06.06 |
php 로 기존 문서 포함시키기 [10] | 이성헌 | 2003.06.08 |
PHP 익히기 1 [24] | 구리구리 | 2003.06.09 |
PHP 익히기 2 [9] | 구리구리 | 2003.06.10 |
PHP 익히기 3 [11] | 구리구리 | 2003.06.17 |
이미 인클루드된 파일은 다시 인클루드하지 않기 [14] | 김병희 | 2003.06.20 |
htmlspecialchars 사용하시는 분들 [5] | holies | 2003.07.11 |
Thumbnail 생성하기 - 수정^^; [9] | holies | 2003.07.11 |
'와 "의 속도 차이?! [6] | holies | 2003.07.12 |
초간단 php 랜덤 이미지 및 랜덤 배경이미지 소스 [6] | 거금도 | 2003.07.24 |
다른 사이트에 있는 파일 읽어오기 [50] | 김규백 | 2003.07.25 |
스킨 시스템 사용하기 [2] | 김규백 | 2003.07.25 |
제로보드 + MSN 메신저 (작성글에 리플이나 코멘트가 달리면 MSN으로 알려준다?)
[18]
![]() | HungryMania | 2003.08.01 |
체널을 응용해서 tmain.php?tdb=test&db=src 식으로 쓰기 [12] | 9000㎒ | 2003.08.01 |
$i++ !== $i += 1 [14] | 플로렐라 | 2003.08.04 |
개판 오분전 정규식(4) | 미친개 | 2003.08.07 |