그누보드5 다중검색 기능.. 도와주세요.. 채택완료


정상적으로 글쓰기에서 체크박스 및 셀렉트박스로 글쓰기를 완료하면 wr_값으로 리스트에 뿌려지도록 만들었습니다.
리스트에서 파견가능 지역(wr_5), 근무형태(wr_4)를 체크하면 리스트에 그 값을 가지고 있는 게시물만 보일 수 있도록 검색기능을 만들려고 합니다..
list.skin.php
</p>
<p><div class="board_search"></p>
<p> <div class="write_wrap"></p>
<p> <form id="fsearch" name="fsearch" method="get"></p>
<p> <table></p>
<p> <tbody></p>
<p> <tr></p>
<p> <th scope="row"><label for="wr_4">근무형태</label></th></p>
<p> <td colspan="3"></p>
<p> <?php</p>
<p> $check1 = explode(",", $write['wr_4']);</p>
<p> ?></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check1[]" id="work1" value="파견"<?php echo in_array("파견", $check1) ? ' checked=""' : '' ?>></p>
<p> <label for="work1">파견</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check1[]" id="work2" value="정규직"<?php echo in_array("정규직", $check1) ? ' checked=""' : '' ?>></p>
<p> <label for="work2">정규직</label></span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check1[]" id="work3" value="재택"<?php echo in_array("재택", $check1) ? ' checked=""' : '' ?>></p>
<p> <label for="work3">재택</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check1[]" id="work4" value="반상주"<?php echo in_array("반상주", $check1) ? ' checked=""' : '' ?>></p>
<p> <label for="work4">반상주</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check1[]" id="work5" value="해외파견"<?php echo in_array("해외파견", $check1) ? ' checked=""' : '' ?>></p>
<p> <label for="work5">해외파견</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check1[]" id="work6" value="기타"<?php echo in_array("기타", $check1) ? ' checked=""' : '' ?>></p>
<p> <label for="work6">기타</label></p>
<p> </span></p>
<p> </p>
<p> </p>
<p> </td></p>
<p> <th scope="row"><label for="wr_1">경력</label></th></p>
<p> <td></p>
<p> <div class="write_div sel_box"></p>
<p> <select name="wr_1" id="wr_1" class="sel_box_btn"></p>
<p> <option value="">경력</option></p>
<p> <option value="1년"<?php echo ($write['wr_1'] == "1년") ? " selected" : "";?>>1년</option></p>
<p> <option value="2년"<?php echo ($write['wr_1'] == "2년") ? " selected" : "";?>>2년</option></p>
<p> <option value="3년"<?php echo ($write['wr_1'] == "3년") ? " selected" : "";?>>3년</option></p>
<p> <option value="4년"<?php echo ($write['wr_1'] == "4년") ? " selected" : "";?>>4년</option></p>
<p> <option value="5년"<?php echo ($write['wr_1'] == "5년") ? " selected" : "";?>>5년</option></p>
<p> <option value="6년"<?php echo ($write['wr_1'] == "6년") ? " selected" : "";?>>6년</option></p>
<p> <option value="7년"<?php echo ($write['wr_1'] == "7년") ? " selected" : "";?>>7년</option></p>
<p> <option value="8년"<?php echo ($write['wr_1'] == "8년") ? " selected" : "";?>>8년</option></p>
<p> <option value="9년"<?php echo ($write['wr_1'] == "9년") ? " selected" : "";?>>9년</option></p>
<p> <option value="10년"<?php echo ($write['wr_1'] == "10년") ? " selected" : "";?>>10년</option></p>
<p> <option value="11년"<?php echo ($write['wr_1'] == "11년") ? " selected" : "";?>>11년</option></p>
<p> <option value="12년 이상"<?php echo ($write['wr_1'] == "12년 이상") ? " selected" : "";?>>12년 이상</option></p>
<p> </select></p>
<p> </div></p>
<p> </td></p>
<p> </tr></p>
<p> <tr></p>
<p> <th scope="row"><label for="wr_5">파견가능지역</label></th></p>
<p> <td colspan="5"></p>
<p> </p>
<p> <?php</p>
<p> $check2 = explode(",", $write['wr_5']);</p>
<p> ?></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area1" value="서울"<?php echo in_array("서울", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area1">서울</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area2" value="경기"<?php echo in_array("경기", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area2">경기</label></span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area3" value="인천"<?php echo in_array("인천", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area3">인천</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area4" value="부산"<?php echo in_array("부산", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area4">부산</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area5" value="광주"<?php echo in_array("광주", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area5">광주</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area6" value="대전"<?php echo in_array("대전", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area6">대전</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area7" value="울산"<?php echo in_array("울산", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area7">울산</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area8" value="대구"<?php echo in_array("대구", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area8">대구</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area9" value="세종"<?php echo in_array("세종", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area9">세종</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area10" value="강원"<?php echo in_array("강원", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area10">강원</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area11" value="충남"<?php echo in_array("충남", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area11">충남</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area12" value="충북"<?php echo in_array("충북", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area12">충북</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area13" value="경남"<?php echo in_array("경남", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area13">경남</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area14" value="경북"<?php echo in_array("경북", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area14">경북</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area15" value="전남"<?php echo in_array("전남", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area15">전남</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area16" value="전북"<?php echo in_array("전북", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area16">전북</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area17" value="제주도"<?php echo in_array("제주도", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area17">제주도</label></p>
<p> </span></p>
<p> <span class="work_checkbox"></p>
<p> <input type="checkbox" name="check2[]" id="area18" value="해외"<?php echo in_array("해외", $check2) ? ' checked=""' : '' ?>></p>
<p> <label for="area18">해외</label></p>
<p> </span></p>
<p> </td></p>
<p> </tr></p>
<p> </p>
<p> </tbody></p>
<p> </table></p>
<p> </p>
<p> <fieldset id="bo_sch"></p>
<p> <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>"></p>
<p> <input type="hidden" name="sca" value="<?php echo $sca ?>"></p>
<p> <input type="hidden" name="sop" value="and"></p>
<p> <label for="sfl" class="sound_only">검색대상</label></p>
<p> <select name="sfl" id="sfl" class="sel_box_btn"></p>
<p> <?php echo get_board_sfl_select_options($sfl); ?></p>
<p> </select></p>
<p> <label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label></p>
<p> <input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" id="stx" class="sch_input" size="25" maxlength="20" placeholder="검색어를 입력해주세요"></p>
<p> <button type="submit" value="검색" class="sch_btn"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">검색</span></button></p>
<p> </p>
<p> </fieldset></p>
<p> </form></p>
<p> </div></p>
<p> </p>
<p> </div></p>
<p>
지금까지 리스트 영역에서 만진거는 지금 코드가 끝입니다.. 다중검색 기능을 하려면 어케해야하는지 알려주시면 감사드리겠습니다.. 체크박스 및 셀렉트박스만 선택하고 검색버튼을 누르면 bbs/board.php?check1%5B%5D=재택&wr_1=6년&check2%5B%5D=충북&bo_table=bbs1&sca=&sop=and&sfl=wr_subject&stx=
이렇게 출력되고 있습니다... 검색결과는 리스트 페이지 첫화면 그대로 나오고 있고요.. 아 write.skin.php에서 저 체크박스 폼을 그대로 사용하고 있습니다.
답변 3개
1. 우선 선택한값 가져오시구요
$check1 = isset($_GET['check1']) ? $_GET['check1'] : array(); $check2 = isset($_GET['check2']) ? $_GET['check2'] : array(); $wr_1 = isset($_GET['wr_1']) ? $_GET['wr_1'] : '';
2. 그리고 체크된 값을 가지고있는 게시물 검색
$postCheck1 = explode(",", $post['wr_4']); $postCheck2 = explode(",", $post['wr_5']);
3. 게시판에 선택된값과 일치한게 있는지 확인
$filteredPosts = array_filter($posts, function($post) use ($check1, $check2, $wr_1) { $postCheck1 = explode(",", $post['wr_4']); $postCheck2 = explode(",", $post['wr_5']);
4. 위에 값들을 처리
$filteredPosts = array_filter($posts, function($post) use ($check1, $check2, $wr_1) { return $check1Match && $check2Match && $wr_1Match; }
5. 그리고 결과물 표시
foreach ($filteredPosts as $post) { 목록 ~~~
답변에 대한 댓글 6개
혹시 말씀해주신 부분들을 어디에 추가해야하는지 알려주실 수 있을까요...
죄송합니다...ㅜ
그럼 보여주신 코드는 현재는 제가 못쓰는 코드인가요..?ㅜㅜ
댓글을 작성하려면 로그인이 필요합니다.
https://sir.kr/bbs/board.php?bo_table=g4_skin&wr_id=140325
https://sir.kr/bbs/board.php?bo_table=g4_skin&wr_id=143379
https://sir.kr/g4_tiptech/30754
이 링크에 답이 있을것 같네요..
참고하세요..
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
아니면 list.php에 추가해야하는 부분인가요?
만일 list.skin.php라면 검색영역 fileset 안에 추가해야하는 건가요?