검색을 이용한 게시판 다중카데고리 구현힌트 정보
검색을 이용한 게시판 다중카데고리 구현힌트
본문
잘 응용하면 사실상의 무한 다중카데고리가 가능하답니다. 효율적인 방법은 아니지만;;
솔직히 말하면 매우 효율적이지 않은 방법입니다.
1. 아이디어
&sca=&sfl=[필드]&stx=[검색어] 를 응용한 다중카테고리
2. 구성
기존의 카데고리는 | 를 통해 분리를 합니다. ^도 같이 사용하게됩니다.
기존: 분류1|분류2|분류3
변경: 분류1^2차|분류1^2차^3차|분류2|분류3|분류4
4. 단점
카테고리안에 검색어(stx)의 단어가 포함되있는 카데고리가 다른 상위분류에 존재할 경우 결과 오류, 다른 검색을 추가로 쓸 수 없습니다.
3. 구현(매우 수동적)
※ 구성에서 설명한 카테고리로 되있다는 가정하에
$mcategory_location = "./board.php?bo_table=$bo_table&sca=&sfl=ca_name&stx=";
※ 이해가 안가시는 분들을 위해...
생각나서 함 올려봤습니다. 매우 초보적인 글이지만 그래도 이해해주세요 ^^;;
솔직히 말하면 매우 효율적이지 않은 방법입니다.
1. 아이디어
&sca=&sfl=[필드]&stx=[검색어] 를 응용한 다중카테고리
2. 구성
기존의 카데고리는 | 를 통해 분리를 합니다. ^도 같이 사용하게됩니다.
기존: 분류1|분류2|분류3
변경: 분류1^2차|분류1^2차^3차|분류2|분류3|분류4
4. 단점
카테고리안에 검색어(stx)의 단어가 포함되있는 카데고리가 다른 상위분류에 존재할 경우 결과 오류, 다른 검색을 추가로 쓸 수 없습니다.
3. 구현(매우 수동적)
※ 구성에서 설명한 카테고리로 되있다는 가정하에
$mcategory_location = "./board.php?bo_table=$bo_table&sca=&sfl=ca_name&stx=";
<option value=''>전체</option>
<option value='분류1^'>분류1</option>
<option value='분류2^'>분류2/option>
<option value='분류3^'>분류3/option>
<option value='분류4^'>분류4/option>
... 생략 ...
if($sfl == "ca_name) {
if($stx =="분류1^" {
...생략...
<option value=''>전체</option>
<option value='분류1^2차'>분류1^2차</option>
...2차 부분에 대한 option 계속 이어감...
if($stx =="분류1^2차") { // 분류1^2차 카테고리로 등록된 게시글도 포함
<option value=''>전체</option>
<option value='분류1^2차^3차'>분류1^2차^3차</option>
...3차 부분에 대한 option 계속 이어감...
<option value='분류1^'>분류1</option>
<option value='분류2^'>분류2/option>
<option value='분류3^'>분류3/option>
<option value='분류4^'>분류4/option>
... 생략 ...
if($sfl == "ca_name) {
if($stx =="분류1^" {
...생략...
<option value=''>전체</option>
<option value='분류1^2차'>분류1^2차</option>
...2차 부분에 대한 option 계속 이어감...
if($stx =="분류1^2차") { // 분류1^2차 카테고리로 등록된 게시글도 포함
<option value=''>전체</option>
<option value='분류1^2차^3차'>분류1^2차^3차</option>
...3차 부분에 대한 option 계속 이어감...
※ 이해가 안가시는 분들을 위해...
bbs/list.php 9행 밑에 추가
$mcategory_location = "./board.php?bo_table=$bo_table&sca=&sfl=ca_name&stx=";
- Basic 스킨 기준 -
<div class="board_top">
<div style="float:left;">
<form name="fcategory" method="get" style="margin:0px;">
<? if ($is_category) { ?>
<!-- 대분류 선택 시작 -->
<select name=sca onchange="location='<?=$mcategory_location?>'+this.value;">
<option value=''>전체</option>
<option value='분류1^'>분류1</option>
<option value='분류2^'>분류2/option>
<option value='분류3^'>분류3/option>
<option value='분류4^'>분류4/option>
</select>
<!-- 대분류 선택 끝 -->
<?if($sfl == "ca_name) {?>
<?if($stx =="분류1^" {?>
<!-- 2차분류 선택 시작 -->
<select name=sca onchange="location='<?=$mcategory_location?>'+this.value;">
<option value=''>전체</option>
<option value='분류1^2차'>분류1^2차</option>
</select>
<!-- 2차분류 선택 끝 -->
<? } ?>
<?if($stx =="분류1^2차" {?>
<!-- 3차분류 선택 시작 -->
<select name=sca onchange="location='<?=$mcategory_location?>'+this.value;">
<option value=''>전체</option>
<option value='분류1^2차^3차'>분류1^2차^3차</option>
</select>
<!-- 3차분류 선택 끝 -->
<? } ?>
<? } ?>
<? } ?>
</form>
</div>
$mcategory_location = "./board.php?bo_table=$bo_table&sca=&sfl=ca_name&stx=";
- Basic 스킨 기준 -
<div class="board_top">
<div style="float:left;">
<form name="fcategory" method="get" style="margin:0px;">
<? if ($is_category) { ?>
<!-- 대분류 선택 시작 -->
<select name=sca onchange="location='<?=$mcategory_location?>'+this.value;">
<option value=''>전체</option>
<option value='분류1^'>분류1</option>
<option value='분류2^'>분류2/option>
<option value='분류3^'>분류3/option>
<option value='분류4^'>분류4/option>
</select>
<!-- 대분류 선택 끝 -->
<?if($sfl == "ca_name) {?>
<?if($stx =="분류1^" {?>
<!-- 2차분류 선택 시작 -->
<select name=sca onchange="location='<?=$mcategory_location?>'+this.value;">
<option value=''>전체</option>
<option value='분류1^2차'>분류1^2차</option>
</select>
<!-- 2차분류 선택 끝 -->
<? } ?>
<?if($stx =="분류1^2차" {?>
<!-- 3차분류 선택 시작 -->
<select name=sca onchange="location='<?=$mcategory_location?>'+this.value;">
<option value=''>전체</option>
<option value='분류1^2차^3차'>분류1^2차^3차</option>
</select>
<!-- 3차분류 선택 끝 -->
<? } ?>
<? } ?>
<? } ?>
</form>
</div>
생각나서 함 올려봤습니다. 매우 초보적인 글이지만 그래도 이해해주세요 ^^;;
추천
2
2
댓글 1개
다중카데고리 구현힌트