>> Edit article
이름
제목
패스워드
: : 우선은 테이블에 세개의 필드를 만든다. : : create table thread ( : num int not null default '0' auto_increment, : a int not null default '0', : b int not null default '0', : primary key (num), : index reply (a,b) : ); : : mysql > select * from thread; : : +-----+----+---+ : | num | a | b | : +-----+----+---+ : | 1 | 1 | 0 | : | 2 | 2 | 0 | : | 3 | 3 | 0 | : | 4 | 1 | 1 | : | 5 | 5 | 0 | : | 6 | 1 | 2 | : | 7 | 1 | 1 | : | 8 | 8 | 0 | : | 9 | 1 | 2 | : | 10 | 3 | 1 | : | 11 | 3 | 2 | : | 12 | 3 | 1 | : | 13 | 13 | 0 | : | 14 | 13 | 1 | : | 15 | 13 | 1 | : | 16 | 13 | 1 | : | 17 | 2 | 1 | : | 18 | 13 | 2 | : | 19 | 13 | 1 | : | 20 | 13 | 1 | : | 21 | 13 | 1 | : | 22 | 2 | 2 | : | 23 | 2 | 1 | : +-----+----+---+ : : 이런 식으로 나열된다. : : 그럼 이걸 어케 하냐믄.. 쩝.. : : mysql > select * from thread order by a desc, b asc, num asc; : : +-----+----+---+ : | num | a | b | : +-----+----+---+ : | 13 | 13 | 0 | 13 어쩌구 저쩌구 : | 14 | 13 | 1 | 위 원문의 답변 -> 답변) 어쩌구 저쩌구 : | 15 | 13 | 1 | 위 답변글의 답변 -> 답변) 답변) 어쩌구 저쩌구.. : | 16 | 13 | 1 | ... -> : | 19 | 13 | 1 | -> : | 20 | 13 | 1 | : | 21 | 13 | 1 | : | 18 | 13 | 2 | 위 13번 원문의 답변 -> 답변) 어쩌구 저쩌구 : | 8 | 8 | 0 | 8 엘롱 에롱~~~~~ : | 5 | 5 | 0 | : | 3 | 3 | 0 | 3 훔냥 훔냥.. 헤롱헤롱.. : | 10 | 3 | 1 | -> 답변) 훔냥 훔냥.. 헤롱헤롱.. : | 12 | 3 | 1 | -> 답변) 답변) 훔냥훔냥... : | 11 | 3 | 2 | -> 답변) 훔냥 훔냥.. 헤롱... : | 2 | 2 | 0 | : | 17 | 2 | 1 | : | 23 | 2 | 1 | : | 22 | 2 | 2 | : | 1 | 1 | 0 | : | 4 | 1 | 1 | : | 7 | 1 | 1 | : | 6 | 1 | 2 | : | 9 | 1 | 2 | : +-----+----+---+ : : 이렇게 나온다. 이해 하실련지 ????? : : 우선은 a 를 역순으로 정열(최근 글이 앞에온다.) 그리고는, : b 를 정순으로 정열한다. (번호가 같으면 바로 위의 글의 답변이다.) : ex ) b = 0 --> 원문이고, : b = 1 --> 원문에 대한 첫번째 답변이다. : b = 2 --> 원문에 대한 두번째 답변이다. : .... : : 그러고선 b 가 같으면 바로 위의 글에 대한 답변으로서 인식된다. : 리스트 출력시엔, : 바로 전글의 a 와 b를 비교해서 a 가 같으면 한칸 밀어버리고(답변이므로..) : b 가 같으면 한칸 밀어버린다. : : 이런 식으로 뿌리면 될것 같다. : : 훔냥.. limit 를 써서 페이지 구현도 가능할까도 생각했지만 : 내 머리론.. 힘들것 같당~ : : 누가 좀.. 도와줘여~ 히잉~~~~~~~~~~~~~!!! : : 훔.. 그럼... 좋은 하루 되셔요~ : : 페이지 나눔에는 b=0 일때만 나눠서 어쩌구 하면 될것 같네여.. : 나름대로.. 스타일이 있으니까.. 그건.. 알아서 해주셔요~ : : 질문은... 이 밑에 써주셔요~ : 헤롱~ 나쁜 점이 있으면.. 써주구여~ 흠... 근데.. 답변글이 자기짝을 찾아서 제대로 찾아 갈지가 의문이네요... 생각을 해보니... 1번에대한 답변이 있고.. 또 1번에 대한 답변이 있고... 그리고 1번에대한 답변에 답변이 있고.. 또.. 1번에 대한 답변에 또다른 답변이 있고... 2번에 대한 또 다른 답변이 있고... 2번에 대한 또 다른 답변에 답변이 있고.. 2번에 대한 답변에 답변이 있다면... ?? 순서가 제대로 나올까요..?? 아직까지 제가 본 계층형 게시판 알고리즘은.. class, group, group_sort순으로 나누는 것이 가장 안정적이더군요.. 저도 그렇게 쓰고 있고요... class 는 답변의 깊이... group 은 게시번호(혹은 그룹번호).. group_sort는 그룹내 순번... 이렇게 한후... 그룹번호로 쏘트(desc).. 그리고 group_sort로 쏘트... 이렇게 하면 간단히 해결됩니다. 두개의 인자만으로 해결을 하신다면... 전에 보기로는 a, a-a, a-b, a-a-a..... 이런 식으로 여러 인자를 합해야 구현을 할 수 있다고 생각이 드는군요..
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved