그누보드5 검색영역(체크박스 및 셀렉트 박스 검색) 채택완료

체크박스 및 셀렉트 박스 검색 필터에서 막혀서.. 도움을 청하고자 글을 씁니다. .ㅠ
 

일단 글쓰기와 리스트 및 뷰 페이지는 잘 나오고 있습니다.237007248_1684201495.1744.png

글쓰기에서 체크박스 선택 및 셀렉트 박스 선택 후

237007248_1684201619.4271.png237007248_1684201622.2237.png

뷰페이지 및 리스트페이지.

이렇게 잘 나오는걸 보면 wr_값은 저장이 된거 같은데.. 

리스트 페이지에서 근무 형태 및 파견가능지역, 경력으로 검색을 하려고 하면 어떻게 해야하는지를 모르겠습니다..
다중검색 스킨 및 여러가지를 찾아 봤지만.. 어떻게 해야할지 모르겠습니다.

Copy
<?php

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

 

// 선택옵션으로 인해 셀합치기가 가변적으로 변함

$colspan = 8;

 

if ($is_checkbox) $colspan++;

if ($is_good) $colspan++;

if ($is_nogood) $colspan++;

 

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨

add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);

?>

<?php

include_once(G5_LIB_PATH.'/common.lib.php');

 

?>

 

<!-- 게시판 목록 시작 { -->

<div id="bo_list" style="width:<?php echo $width; ?>">

 

    <!-- 게시판 카테고리 시작 { -->

    <?php if ($is_category) { ?>

    <nav id="bo_cate">

        <h2><?php echo $board['bo_subject'] ?> 카테고리</h2>

        <ul id="bo_cate_ul">

            <?php echo $category_option ?>

        </ul>

    </nav>

    <?php } ?>

    <!-- } 게시판 카테고리 끝 -->

    <div class="tbl_head01 tbl_wrap">

        <div class="write_wrap">

        <form id="fsearch" name="fsearch" method="get">

       

            <table>

                <tbody>

                <tr>

                    <th scope="row"><label for="wr_4">근무형태</label></th>

                    <td colspan="3">

                    <?php

                        $check1 = explode(",", $write['wr_4']);

                        ?>

                        <span class="work_checkbox">

                            <input type="checkbox" name="check1[]" id="work1" class='wr_4' value="파견"<?php echo in_array("파견", $check1) ? ' checked=""' : '' ?>>

                            <label for="work1">파견</label>

                        </span>

                        <span class="work_checkbox">

                            <input type="checkbox" name="check1[]" id="work2" class='wr_4' value="정규직"<?php echo in_array("정규직", $check1) ? ' checked=""' : '' ?>>

                            <label for="work2">정규직</label></span>

                        <span class="work_checkbox">

                            <input type="checkbox" name="check1[]" id="work3" class='wr_4' value="재택"<?php echo in_array("재택", $check1) ? ' checked=""' : '' ?>>

                            <label for="work3">재택</label>

                        </span>

                        <span class="work_checkbox">

                            <input type="checkbox" name="check1[]" id="work4" class='wr_4' value="반상주"<?php echo in_array("반상주", $check1) ? ' checked=""' : '' ?>>

                            <label for="work4">반상주</label>

                        </span>

                        <span class="work_checkbox">

                            <input type="checkbox" name="check1[]" id="work5" class='wr_4' value="해외파견"<?php echo in_array("해외파견", $check1) ? ' checked=""' : '' ?>>

                            <label for="work5">해외파견</label>

                        </span>

                        <span class="work_checkbox">

                            <input type="checkbox" name="check1[]" id="work6" class='wr_4' value="기타"<?php echo in_array("기타", $check1) ? ' checked=""' : '' ?>>

                            <label for="work6">기타</label>

                        </span>

                    </td>

                    <th scope="row"><label for="wr_1">경력</label></th>

                        <td>

                            <div class="write_div sel_box">

                                <select name="wr_1" id="wr_1" class="sel_box_btn" onchange="submit()">

                                    <option value="">경력</option>

                                    <option value="1년"<?php echo ($write['wr_1'] == "1년") ? " selected" : "";?>>1년</option>

                                    <option value="2년"<?php echo ($write['wr_1'] == "2년") ? " selected" : "";?>>2년</option>

                                    <option value="3년"<?php echo ($write['wr_1'] == "3년") ? " selected" : "";?>>3년</option>

                                    <option value="4년"<?php echo ($write['wr_1'] == "4년") ? " selected" : "";?>>4년</option>

                                    <option value="5년"<?php echo ($write['wr_1'] == "5년") ? " selected" : "";?>>5년</option>

                                    <option value="6년"<?php echo ($write['wr_1'] == "6년") ? " selected" : "";?>>6년</option>

                                    <option value="7년"<?php echo ($write['wr_1'] == "7년") ? " selected" : "";?>>7년</option>

                                    <option value="8년"<?php echo ($write['wr_1'] == "8년") ? " selected" : "";?>>8년</option>

                                    <option value="9년"<?php echo ($write['wr_1'] == "9년") ? " selected" : "";?>>9년</option>

                                    <option value="10년"<?php echo ($write['wr_1'] == "10년") ? " selected" : "";?>>10년</option>

                                    <option value="11년"<?php echo ($write['wr_1'] == "11년") ? " selected" : "";?>>11년</option>

                                    <option value="12년 이상"<?php echo ($write['wr_1'] == "12년 이상") ? " selected" : "";?>>12년 이상</option>

                                </select>

                                <input type="hidden" name="wr_1" value="<?php echo $write['wr_1'] ?>">

                            </div>

                        </td>

                    </tr>

                    <tr>

                        <th scope="row"><label for="wr_5">파견가능지역</label></th>

                        <td colspan="5">

           

                        <?php

                            $check2 = explode(",", $write['wr_5']);

                            ?>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area1"  class='wr_5'value="서울"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("서울", $check2) ? ' checked=""' : '' ?>>

                                <label for="area1">서울</label>

                            </span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area2"  class='wr_5'value="경기"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("경기", $check2) ? ' checked=""' : '' ?>>

                                <label for="area2">경기</label></span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area3"  class='wr_5'value="인천"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("인천", $check2) ? ' checked=""' : '' ?>>

                                <label for="area3">인천</label>

                            </span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area4"  class='wr_5'value="부산"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("부산", $check2) ? ' checked=""' : '' ?>>

                                <label for="area4">부산</label>

                            </span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area5"  class='wr_5'value="광주"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("광주", $check2) ? ' checked=""' : '' ?>>

                                <label for="area5">광주</label>

                            </span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area6"  class='wr_5'value="대전"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("대전", $check2) ? ' checked=""' : '' ?>>

                                <label for="area6">대전</label>

                            </span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area7"  class='wr_5'value="울산"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("울산", $check2) ? ' checked=""' : '' ?>>

                                <label for="area7">울산</label>

                            </span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area8"  class='wr_5'value="대구"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("대구", $check2) ? ' checked=""' : '' ?>>

                                <label for="area8">대구</label>

                            </span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area9"  class='wr_5'value="세종"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("세종", $check2) ? ' checked=""' : '' ?>>

                                <label for="area9">세종</label>

                            </span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area10" class='wr_5' value="강원"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("강원", $check2) ? ' checked=""' : '' ?>>

                                <label for="area10">강원</label>

                            </span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area11" class='wr_5' value="충남"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("충남", $check2) ? ' checked=""' : '' ?>>

                                <label for="area11">충남</label>

                            </span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area12" class='wr_5' value="충북"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("충북", $check2) ? ' checked=""' : '' ?>>

                                <label for="area12">충북</label>

                            </span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area13" class='wr_5' value="경남"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("경남", $check2) ? ' checked=""' : '' ?>>

                                <label for="area13">경남</label>

                            </span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area14" class='wr_5' value="경북"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("경북", $check2) ? ' checked=""' : '' ?>>

                                <label for="area14">경북</label>

                            </span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area15" class='wr_5' value="전남"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("전남", $check2) ? ' checked=""' : '' ?>>

                                <label for="area15">전남</label>

                            </span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area16" class='wr_5' value="전북"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("전북", $check2) ? ' checked=""' : '' ?>>

                                <label for="area16">전북</label>

                            </span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area17" class='wr_5' value="제주도"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("제주도", $check2) ? ' checked=""' : '' ?>>

                                <label for="area17">제주도</label>

                            </span>

                            <span class="work_checkbox">

                                <input type="checkbox" name="check2[]" id="area18" class='wr_5' value="해외"<?php echo get_selected($sfl, 'wr_5'); ?><?php echo in_array("해외", $check2) ? ' checked=""' : '' ?>>

                                <label for="area18">해외</label>

                            </span>

                        </td>

                    </tr>

           

                </tbody>

            </table>

                <fieldset id="bo_sch">

                    <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">

                    <input type="hidden" name="sca" value="<?php echo $sca ?>">

                    <input type="hidden" name="sop" value="or">

                    <input type="hidden" name="chk_wr_id" value="">

                    <label for="sfl" class="sound_only">검색대상</label>

                    <select name="sfl" id="sfl" class="sel_box_btn">

                        <?php echo get_board_sfl_select_options($sfl); ?>

                    </select>

                    <label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>

                    <input type="text" name="stx" value="<?php echo stripslashes($stx) ?>"  id="stx" class="sch_input" size="25" maxlength="20" placeholder="검색어를 입력해주세요">

                    <button type="submit" value="검색" class="sch_btn"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">검색</span></button>

                </fieldset>

            </form>

        </div>

    </div>

    <form name="fboardlist" id="fboardlist" action="<?php echo G5_BBS_URL; ?>/board_list_update.php" onsubmit="return fboardlist_submit(this);" method="post">

   

    <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">

    <input type="hidden" name="sfl" value="<?php echo $sfl ?>">

    <input type="hidden" name="stx" value="<?php echo $stx ?>">

    <input type="hidden" name="spt" value="<?php echo $spt ?>">

    <input type="hidden" name="sca" value="<?php echo $sca ?>">

    <input type="hidden" name="sst" value="<?php echo $sst ?>">

    <input type="hidden" name="sod" value="<?php echo $sod ?>">

    <input type="hidden" name="page" value="<?php echo $page ?>">

   

    <input type="hidden" name="sw" value="">

 

    <!-- 게시판 페이지 정보 및 버튼 시작 { -->

    <div id="bo_btn_top">

        <div id="bo_list_total">

            <span>전체 <?php echo number_format($total_count) ?>건</span>

        </div>

        <ul class="btn_bo_user">

       

   

           <?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php } ?>

            <?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b01 btn" title="RSS"><i class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li><?php } ?>

         

           <?php if ($is_admin == 'super' || $is_auth) {  ?>

           <li>

              <button type="button" class="btn_more_opt is_list_btn btn_b01 btn" title="게시판 리스트 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">게시판 리스트 옵션</span></button>

              <?php if ($is_checkbox) { ?>  

              <ul class="more_opt is_list_btn">  

                  <li><button type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value"><i class="fa fa-trash-o" aria-hidden="true"></i> 선택삭제</button></li>

                  <li><button type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value"><i class="fa fa-files-o" aria-hidden="true"></i> 선택복사</button></li>

                  <li><button type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value"><i class="fa fa-arrows" aria-hidden="true"></i> 선택이동</button></li>

              </ul>

              <?php } ?>

           </li>

           <?php }  ?>

        </ul>

    </div>

    <!-- } 게시판 페이지 정보 및 버튼 끝 -->

           

    <div class="tbl_head01 tbl_wrap">

        <table>

        <caption><?php echo $board['bo_subject'] ?> 목록</caption>

        <thead>

        <tr>

            <?php if ($is_checkbox) { ?>

            <th scope="col" class="all_chk chk_box">

               <input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);" class="selec_chk">

                <label for="chkall">

                   <span></span>

                   <b class="sound_only">현재 페이지 게시물  전체선택</b>

            </label>

            </th>

            <?php } ?>

            <th scope="col">분야</th>

            <th scope="col">경력</th>

            <th scope="col">최종학력</th>

            <th scope="col">제목</th>

            <th scope="col">작업형태</th>

            <th scope="col">파견가능지역</th>

        </tr>

        </thead>

        <tbody>

        <?php

        for ($i=0; $i<count($list); $i++) {

           if ($i%2==0) $lt_class = "even";

           else $lt_class = "";

 

            // 선택된 분야 코드값과 일치하는 데이터만 출력

            if (in_array($list[$i]['category_code'], $selected_categories)) {

              // 리스트 출력 코드

            }

 

      ?>

        <tr class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?> <?php echo $lt_class ?>" onclick="view_page">

            <?php if ($is_checkbox) { ?>

            <td class="td_chk chk_box">

            <input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>" class="selec_chk">

               <label for="chk_wr_id_<?php echo $i ?>">

                  <span></span>

                  <b class="sound_only"><?php echo $list[$i]['subject'] ?></b>

               </label>

            </td>

            <?php } ?>

            <?php

            if ($list[$i]['is_notice']) // 공지사항

                echo '<strong class="notice_icon">공지</strong>';

            else if ($wr_id == $list[$i]['wr_id'])

                echo "<span class=\"bo_current\">열람중</span>";

             ?>

            </td>

            <td id="view_page" class="td_wr3">

            <?php

                if ($is_category && $list[$i]['ca_name']) {

            ?>

                <a href="<?php echo $list[$i]['ca_name_href'] ?>" class="bo_cate_link"><?php echo $list[$i]['ca_name'] ?></a>

                <?php } ?>

            </td>

           

            <td class="td_wr1"><?php echo $list[$i]['wr_1'] ?></td>

            <td class="td_wr6"><?php echo $list[$i]['wr_6'] ?></td>

            <td class="td_subject" style="padding-left:<?php echo $list[$i]['reply'] ? (strlen($list[$i]['wr_reply'])*10) : '0'; ?>px">

           

                <div class="bo_tit">

                    <a href="<?php echo $list[$i]['href'] ?>">

                        <?php echo $list[$i]['icon_reply'] ?>

                        <?php

                            if (isset($list[$i]['icon_secret'])) echo rtrim($list[$i]['icon_secret']);

                         ?>

                        <?php echo $list[$i]['subject'] ?>

                    </a>

                    <?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><span class="cnt_cmt"><?php echo $list[$i]['wr_comment']; ?></span><span class="sound_only">개</span><?php } ?>

                </div>

            </td>

            <td class="td_wr4"><?php echo $list[$i]['wr_4'] ?></td>

            <td class="td_wr5"><?php echo $list[$i]['wr_5'] ?></td>

 

        </tr>

        <?php } ?>

        <?php if (count($list) == 0) { echo '<tr><td colspan="'.$colspan.'" class="empty_table">게시물이 없습니다.</td></tr>'; } ?>

        </tbody>

        </table>

    </div>

   <!-- 페이지 -->

   <?php echo $write_pages; ?>

   <!-- 페이지 -->

   

    <?php if ($list_href || $is_checkbox || $write_href) { ?>

    <div class="bo_fx">

       

        <?php if ($list_href || $write_href) { ?>

        <ul class="btn_bo_user">

           <?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php } ?>

            <?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b01 btn" title="RSS"><i class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li><?php } ?>

            <?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn write_btn dis_none" title="글쓰기">글쓰기</a></li><?php } ?>

        </ul>  

        <?php } ?>

    </div>

    <?php } ?>  

    </form>

 

   

   

</div>

 

<?php if($is_checkbox) { ?>

<noscript>

<p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>

</noscript>

<?php } ?>

 

<?php if ($is_checkbox) { ?>

<script>

function all_checked(sw) {

    var f = document.fboardlist;

 

    for (var i=0; i<f.length; i++) {

        if (f.elements[i].name == "chk_wr_id[]")

            f.elements[i].checked = sw;

    }

}

 

function fboardlist_submit(f) {

    var chk_count = 0;

 

    for (var i=0; i<f.length; i++) {

        if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)

            chk_count++;

    }

 

    if (!chk_count) {

        alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");

        return false;

    }

 

    if(document.pressed == "선택복사") {

        select_copy("copy");

        return;

    }

 

    if(document.pressed == "선택이동") {

        select_copy("move");

        return;

    }

 

    if(document.pressed == "선택삭제") {

        if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n답변글이 있는 게시글을 선택하신 경우\n답변글도 선택하셔야 게시글이 삭제됩니다."))

            return false;

 

        f.removeAttribute("target");

        f.action = g5_bbs_url+"/board_list_update.php";

    }

 

    return true;

}

 

// 선택한 게시물 복사 및 이동

function select_copy(sw) {

    var f = document.fboardlist;

 

    if (sw == "copy")

        str = "복사";

    else

        str = "이동";

 

    var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");

 

    f.sw.value = sw;

    f.target = "move";

    f.action = g5_bbs_url+"/move.php";

    f.submit();

}

 

// 게시판 리스트 관리자 옵션

jQuery(function($){

    $(".btn_more_opt.is_list_btn").on("click", function(e) {

        e.stopPropagation();

        $(".more_opt.is_list_btn").toggle();

    });

    $(document).on("click", function (e) {

        if(!$(e.target).closest('.is_list_btn').length) {

            $(".more_opt.is_list_btn").hide();

        }

    });

});

 

if( in_array("1", $arr) ) {

    // exist

}else{

    // no exist

}

</script>


 

<?php } ?>


https://finenuts03.mycafe24.com/bbs/board.php?check1%5B%5D=%ED%8C%8C%EA%B2%AC&check1%5B%5D=%EC%A0%95%EA%B7%9C%EC%A7%81&wr_1=&wr_1=&check2%5B%5D=%EC%84%9C%EC%9A%B8&check2%5B%5D=%EA%B2%BD%EA%B8%B0&check2%5B%5D=%EC%9D%B8%EC%B2%9C&check2%5B%5D=%EB%B6%80%EC%82%B0&bo_table=bbs1&sca=&sop=or&chk_wr_id=&sfl=wr_subject&stx=
체크박스 체크표시하고서 검색하면 링크는 이렇게 나옵니다...

chat gpt를 이용하여 get_wr_4.php도 만들어보고 search_list.php도 만들어 봤지만.. 제가 못하는 건지 적용을 못해서..

혹시라도 답을 알려주시면 감사드리겠습니다..

답변 1개

채택된 답변
+20 포인트

음........

Copy
$check1 = explode(",", $write['wr_4'])

이건 왜 선언하셨는지는 잘 모르겠는데

$write가 없는 변수일거에요 $write는 write에서만 사용가능합니다.

리스트에서 사용하는 변수는 보통

Copy
for ($i=0; $i<count($list); $i++)

안에서 사용하므로 for문 전에 검색 form 영역전에 해당 칼럼 추출 쿼리문을 작성하셔야 해당 값이 들어 갈겁니다~

 

그리고 검색 후 처리가 안되어있습니다.

그누보드 게시판 검색 코어를 수정하셔도 되고

리스트를 게시판 쿼리를 사용하지 않고 새로 쿼리를 짜서 사용하는 방법도 있고

검색 값이 있다면 ajax로 처리하는 방법도 있습니다.

 

예를들면

Copy
if($_GET['check1']) {

  $sql_common = " and wr_4 = '1234' ";

}

이런식으로 쿼리문이 유동적으로 변경되어야 검색값대로 리스트가 변경됩니다.

로그인 후 평가할 수 있습니다

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

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

로그인
🐛 버그신고