카테고리가 수백개 이상일 경우 어떻게 해야할까요? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

카테고리가 수백개 이상일 경우 어떻게 해야할까요? 정보

카테고리가 수백개 이상일 경우 어떻게 해야할까요?

본문

카테고리가 수백개 이상일 경우 어떻게 처리를 하는 것이 좋을까요?
 
현재 게시판 설정에서 카테고리를 직접 입력해주는 방식인데....
 
하나의 게시판을 가지고 수백개의 게시판 효과를 내기 위해서
처음에 수백개를 입력한 상태에서 또 추가할 수도 있어서....
다수의 카테고리가 필요한데 하나하나 게시판 설정에서 추가할 수는 없을 거 같은데....
 
 
방법을 좀 제시해주시겠습니까?
 
도움 기다리겠습니다.
감사합니다.
  • 복사

댓글 전체

카테고리 테이블(cates) 하나 만드세요.
그리고 게시판 테이블에 있는 ca_name대신
wr_1을 사용하는데 타입을 int로 하고 index로 잡아 주세요.
(wr_1, wr_id)혹은 (wr_1, wr_num) 정도가 되겠죠.

cates는
ca_id int primary key
ca_name varchar(255) 추가 인덱스
정도로 만드시면 됩니다.
현재 고민해서 한 부분이

게시물 작성 시 wr_10에 카테고리 코드를 입력토록 해서
wr_10에 넣어지도록 했습니다.

view.php나, list.php, write.php에서 wr_10에 코드를 물고 잘 나오도록 처리는 되었는데
문제가 된 부분이

서치와 페이징 문제입니다.
게시물의 넘버링은 wr_10에 해당하는 것만 select 문으로 대체해서 처리를 하도록 했는데
서치와 페이징 시에는 전체 게시물에서 처리를 하는 듯 하군요....

서치와 페이징 부분만 wr_10을 기준으로 뽑아올 수 있도록 조금 가이드를 해주시겠습니까?

아 그리고....rolo님 명쾌한 제안 감사드립니다.
서치의 부분은 아래와 같이 처리했습니다. -_-;;
제가 질문하고선...계속 문제를 해결하네요.....

list.php에서
min num을 뽑는 쿼리문인
$sql = " select MIN(wr_num) as min_wr_num from $write_table ";
이 부분을
카테고리를 쓰고자 하는 게시판에서는 다음과 같이 바꿨습니다.
if($bo_table == '게시판')
  $sql = " select MIN(wr_num) as min_wr_num from $write_table where wr_10 = '카테고리' ";

넘버링을 한 후에...
원글을 얻는
$sql = " select distinct wr_parent from $write_table where $sql_search ";
부분을 위와 마찬가지로
if($bo_table == '게시판')
  $sql = " select distinct wr_parent from $write_table where $sql_search and wr_10 = '카테고리' ";

방식으로 해결했습니다.

이제 페이징만 남았군요.....
페이징도 해결했습니다. -_-;;;

list.php에서
140여라인 부분에
$write_pages = get_paging() 로 되는 부분에서
get_paging을 호출하는 부분에서

카테고리를 여러개 사용하고자 하는 게시판일 경우 if로 체크해서
get_paging에서 &wr_10=카테고리변수를 넘겨 GET 방식으로 처리할 수 있도록 하였습니다.
if($bo_table == '게시판')
  $write_pages = get_paging($config[cf_write_pages], $page, $total_page, "./board.php?bo_table=$bo_table&wr_10=카테고리변수".$qstr."&page=");

왠지 -_-;; 이거....차고 치는 고스톱인 느낌이 드는 것이......
© SIRSOFT
현재 페이지 제일 처음으로