채택완료

게시판내 여분필드 검색을 전체검색을 대상으로 확장할 수 있나요?

아래와 같이 게시판내 검색을 지원해 주는 소스를 사용중에 있는데요.

여분필드 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개

채택된 답변
+20 포인트

bbs/search.php

으로 수정 개발 해보세요

답변에 대한 댓글 1개

좋은정보 감사합니다. 전체검색을 살펴보는데 많은 도움이 되겠네요.
그런데 제목+내용|제목|내용 등은 각각이 다른 필드인데, 이것 대신 여분필드 (예를들어 wr_3의 값 : 초등|중둥|고등|일반) 을 선택할 수 있게 하는 부분을 모르겠네요.
조금 더 상세한 설명이나 관련링크라도 도움 주실 수 있을까요?

시험 문제 관리? 하는 기능인가 보군요.

자료가 많지 않다면

우선은 게시판 하나만 사용하시는 것을 추천합니다.

이렇게 하는 것이 작업하기 편합니다.

그누보드는 대용량에는 적합하지 않기 때문에 

차후 문제 수가 몇 백만 이상 늘어나는 경우는 튜닝 또는 DB 재설계까지 생각하셔야 합니다.

답변에 대한 댓글 1개

네~ 유용한 조언 감사 드립니다.

https://sir.kr/gujik/1203 에 저의핸드폰 번호가 있습니다

핸드폰으로 연락주시면 대답 해드릴게요

답변에 대한 댓글 1개

네~ 알겠습니다. 답변 감사드려요.

답변을 작성하려면 로그인이 필요합니다.