게시판내 여분필드 검색을 전체검색을 대상으로 확장할 수 있나요?
아래와 같이 게시판내 검색을 지원해 주는 소스를 사용중에 있는데요.
여분필드 wr_1 , wr_2, wr_3, wr_4, wr_5 에 대해서 다중검색 결과를 볼 수 있습니다.
여분필드에 대해서 전체게시판을 대상으로 확장해서 사용할수 있는 방법이 있을까요?
각 게시판에서는 아래 소스를 가지고 검색을 하면 되는데요.
메인페이지에서 전체게시판을 대상으로 wr_1 ~ wr_5 의 조건으로 전체검색이 되게 하고 싶습니다.
예를들어 메인 페이지 전체검색에서 [wr_1 : 2021년 , wr_4: 기출] 을 선택해 검색하면
모든 게시판에서 2021년 (초,중,고,일반 전체의) 기출 자료가 모두 검색되어 보일 수 있게요.
이미 기존 게시판과 데이터들이 아래 소스로 만들어져 있어서요.
전체 검색으로 확장해서 활용하는 부분을 문의 드립니다.
<form name="fsearch" method="get">
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
<input type="hidden" name="sop" value="and">
<label for="sfl" class="sound_only">검색대상</label>
<table class="srch_tbl">
<caption>통합검색</caption>
<colgroup>
<col class="grid_4">
<col>
</colgroup>
<tbody>
<?php if ($is_category) { ?>
<tr>
<th scope="row">게시판 분류</th>
<td>
<!-- 게시판 카테고리 시작 { -->
<select name="sca" id="fsca" class="frm_input">
<option value="">전체</option>
<?
$categories = explode("|", $board['bo_category_list'].($is_admin?"|공지":"")); // 구분자가 | 로 되어 있음
for ($i=0; $i<count($categories); $i++) {
?>
<option value="<?=$categories[$i]?>"><?=$categories[$i]?></option>
<?
}
?>
</select>
<script>$('#fsca').val('<?=$_GET[sca]?>');</script>
<!-- } 게시판 카테고리 끝 -->
</td>
</tr>
<?}?>
<tr>
<th scope="row">날짜선택</th>
<td>
<select name="wr_1" id="wr_1" class="frm_input">
<option value="">년도</option>
<option value="2022년">2022년</option>
<option value="2021년">2021년</option>
<option value="2020년">2020년</option>
</select>
<script>$("#wr_1").val("<?=$_GET[wr_1]?>")</script>
<select name="wr_2" id="wr_2" class="frm_input">
<option value="">월</option>
<option value="12월">12월</option>
<option value="11월">11월</option>
<option value="10월">10월</option>
<option value="09월">09월</option>
<option value="08월">08월</option>
<option value="07월">07월</option>
<option value="06월">06월</option>
<option value="05월">05월</option>
<option value="04월">04월</option>
<option value="03월">03월</option>
<option value="02월">02월</option>
<option value="01월">01월</option>
</select>
<script>$("#wr_2").val("<?=$_GET[wr_2]?>")</script>
</td>
</tr>
<tr>
<th scope="row">교육대상</th>
<td>
<label><input type="checkbox" name="wr_3[]" value="초등" > 초등 </label>
<label><input type="checkbox" name="wr_3[]" value="중등" > 중등 </label>
<label><input type="checkbox" name="wr_3[]" value="고등"> 고등 </label>
<label><input type="checkbox" name="wr_3[]" value="일반"> 일반 </label>
<script>
var str_wr_3 = "<?=@implode('|',$_GET[wr_3])?>";
$("input:checkbox[name='wr_3[]']").each(function(index){
if(str_wr_3.indexOf($(this).val()) > -1){
$(this).attr("checked", true);
}
});
</script>
</td>
</tr>
<tr>
<th scope="row">자료유형</th>
<td>
<label><input type="checkbox" name="wr_4[]" value="개념" > 개념 </label>
<label><input type="checkbox" name="wr_4[]" value="기초" > 기초 </label>
<label><input type="checkbox" name="wr_4[]" value="실전"> 실전 </label>
<label><input type="checkbox" name="wr_4[]" value="기출"> 기출 </label>
<script>
var str_wr_4 = "<?=@implode('|',$_GET[wr_4])?>";
$("input:checkbox[name='wr_4[]']").each(function(index){
if(str_wr_4.indexOf($(this).val()) > -1){
$(this).attr("checked", true);
}
});
</script>
</td>
</tr>
<tr>
<th scope="row">자료명</th>
<td><input type="text" name="wr_5" value="<?=@$write['wr_5']?>" class="frm_input"></td>
</tr>
<tr>
<th scope="row">통합검색</th>
<td>
<select name="sfl" id="sfl" style='display:none;'>
<option value="wr_subject||wr_content||wr_1||wr_2||wr_3||wr_4||wr_5||wr_6||wr_7||wr_8||wr_9||wr_10">통합검색</option>
</select>
<input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" id="stx" class="frm_input" size="25" maxlength="20" placeholder=" 검색어를 입력해주세요">
<input type="submit" value="검색" id="btn05">
</td>
</tr>
</form>
</table>
</form>
답변 3개 / 댓글 3개
시험 문제 관리? 하는 기능인가 보군요.
자료가 많지 않다면
우선은 게시판 하나만 사용하시는 것을 추천합니다.
이렇게 하는 것이 작업하기 편합니다.
그누보드는 대용량에는 적합하지 않기 때문에
차후 문제 수가 몇 백만 이상 늘어나는 경우는 튜닝 또는 DB 재설계까지 생각하셔야 합니다.
답변을 작성하려면 로그인이 필요합니다.
그런데 제목+내용|제목|내용 등은 각각이 다른 필드인데, 이것 대신 여분필드 (예를들어 wr_3의 값 : 초등|중둥|고등|일반) 을 선택할 수 있게 하는 부분을 모르겠네요.
조금 더 상세한 설명이나 관련링크라도 도움 주실 수 있을까요?