답변형 게시판
1. 유형 : 최근글이 위부터 출력되며, 답변은 최근글이 아래로 출력되도록...
1) 비업데이트형(o) : 개인적으로 업데이트형은 싫어해서리...;;; 데이터수의 증가에 따른 압박이랄까...;
2) 업데이형(x)
3) 반업데이트형(x)
2. 필드는 일반적인 형태의 3개 필드 필요 :
1) ori_idx : 최상위 그룹정도 랄까나...
2) depth : 답변 들여넣기 용도
3) step : 답변형 게시판의 핵심이고.. 게시판 알고리즘 중 이부분에서 세부분화 되는 부분이 많다..
기존 게시판은 답변이 존재하면 삭제를 못하게 하는 방식도 있고... 머 잘된 소스도 굉장히 많다...;;
다만 초보인 나로써의 방식은 해당글의 답변은 그냥 지우게 하고 싶다는...ㄷㄷㄷ;
(최상의 번호로 지우면 해당관련글은 다 삭제되나.. 중간계층 답변만 삭제시에는 오히려 불편하다는...)
방식은..
php 에서 length설정
ori_idx | depth | step
1 0 a : 원글
1 1 a01 : 1단계 답변1
1 2 a0101 : 2단계 답변1
......
1 1 a10 : 1단계 답변10
1 2 a1001 : 답변10에 대한 2단계 답변1
1 1 a11 : 1단계 답변11
이런식으로... ori_idx DESC, depth ASC 정렬 시키면 됨..
length 설정이유는...
2 length 설정시 : 99개까지 답변가능 / 127 개까지 스텝가능
3 length 설정시 : 999개까지 답변가능 / 84 개까지 스텝가능
4 length 설정시 : 9999개까지 답변가능 / 63 개까지 스텝가능
varchar(255)로 데이터 필드 설정시
비슷한 방식이라면... step을 AAB 같은 알파벳으로 표현한게 있으나 26개의 한계라는점.. 묶었을 경우 편하기는 하나..
문자열 처리방식이라는 점이 맘에 안들어서.. 더해가는 개념이 문자+1의 형태보다 숫자 형태가 더 적합하다고 생각되어
숫자형태로 처리함.. (생각의 귀차니즘~)
좋지않은 방법일지도 모르고 다른 사람이 먼저 생각했을 지도 모르나..
내가 생각한거라..그냥 기록해놓은거고 이게 편함 ㅡ.ㅡ;;;
글삭제시에도.. depth에서 a10% 인 것들 삭제하면 되니..답변 존재 유무 확인할 필요가 없으니..
원글없는 답변은 의미없다고 생각하므로..!!
나름 개인적인 생각이었슴돠...-,.-;
str_split를 사용하고 싶었으나..서버가 php4를 지원하는 바람에.. ㅡㅜ
preg_match_all("/[0-9]{".$length."}/", $step_res['MAX(step)'], $once_arr_step); 요걸 활용했다는..
이외에는 다른 게시판 소스랑 별로 다를게 없음..ㅡㅡㅋ
'리눅스 개발 > PHP게시판 및 소스' 카테고리의 다른 글
PHP 날짜를 숫자로 숫자를 날짜로 변환 (0) | 2023.09.26 |
---|---|
php class 정리된 글.. (0) | 2013.02.08 |