스크립트로 간단하게 확장필드 다중검색하기 > 그누보드5 팁자료실

그누보드5 팁자료실

스크립트로 간단하게 확장필드 다중검색하기 정보

스크립트로 간단하게 확장필드 다중검색하기

본문

그누보드 검색함수 get_sql_search를 보면

검색필드sfl은 ||구분자로 나누고 검색어 stx는 공백으로 나뉘는걸 알수있습니다.

예) sfl=wr_8||wr_1&stx=진열함(공백)판매함

이걸 응용 간단하게 php와 스크립트 array로 다음과 같이 버튼클릭시 다중검색이 가능하도록 하는 방법입니다.

 

 

*위 예시는 게시판 여분필드 wr_8과 wr_1에 판매함/판매안함, 그리고 진열함/진열안함을 각각 저장하여, wr_8값과 wr_1값을 찾도록 하는 방법입니다. 다른 여분필드와 입력값을 가지고 계시면 녹색부분만 바꿔주시면 됩니다.  

 

해당게시판 list.skin.php상단에 다음 코드추가

1)확장필드 갯수만큼 empty array 생성 및 자바스크립트 변수생성하기위해 검색시 넘어온 stx값을 array에 입력

<?php

$searchGroup = ['',''];

if(isset($_GET['sfl'])){

    if($_GET['sfl'] == 'wr_8||wr_1'){

        $showFS = explode(' ', $_GET['stx']);

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

            $searchGroup[$i] = $showFS[$i];

        }

    }

}

?>

 

3)위 php소스 바로 아래 script추가(php변수 스크립트로 전달)

<script>

    <?php

        $searchGroup = json_encode($searchGroup);

        echo "let URLgroup = ". $searchGroup . ";\n";

    ?>

</script>

 

4)중단에 버튼 생성

<input type="button" name="" value='판매함' class='fieldSearch'>

<input type="button" name="" value='판매안함' class='fieldSearch'>

<input type="button" name="" value='진열함' class='fieldSearch displayF'>

<input type="button" name="" value='진열안함' class='fieldSearch displayF'>

 

5)제일 하단에 버튼 클릭시 이동경로생성(테이블명또한 변경해주세요)

<script>

$('.fieldSearch').click(function(){

    if($(this).hasClass('displayF')){

        URLgroup[0] = $(this).val();

    }else{

        URLgroup[1] = $(this).val();

    }

    location.href = 'http://localhost/bbs/board.php?bo_table=product&sfl=wr_8||wr_1&stx='+ URLgroup[0] + ' ' + URLgroup[1];

})

</script>

만약 페이징 처리를 변수로 처리하신다면 스크립트로 다시 넘겨줘야하는 번거로움이 있지만, 확장필드가 교차로 선택되면서 해당 리스트가 출력되기때문에 관리자나 사용자 측면에서 좋을 것 같습니다.

 

 

 

 

추천
7

댓글 19개

아무리 봐도 쿼리 2개가 날라갈만한 요소에서 else 문땀시 두개가 날라갈수없을것 같은데요.. ㅎ

그래도 좋은 아이디어 제공해주신것만으로도 충분한 팁으로 보입니다..
하단 Jquery else문 말씀하시는건가요? 그 부분은 필드 wr_8 wr_1순서에 맞게 stx값을 배열에 넣는 구문입니다. 만약 stx값이 하나만 있더라도, 그누보드 get_sql_search()함수의
for loop 에 공란처리 구문이 있습니다.
제가 적용해보고 해봤는데 잘 안되는것 같습니다.. ㅡㅡ;;

일단 URLgroup 이 부분 var URLgroup = new array(); 정의 부분 빠진것도 있고..

아마 가독성땀시 전체적인부분에서 일부 발췌하셨기때문에 확인되지못한 부분이 있어보입니다..
음.. URLgroup변수는 3번 항목 php에서 정의가 되지만,
혹시 "3)php변수 스크립트로 전달" 아래 script소스를 하단에 넣으셨나요?
위치는 1번 php소스 바로 아래에 넣으면 변수생성에는 에러가 없을텐데요
아 제가 location.href를 adm경로로 해놓았네요.
그쪽경로를 다시 수정했고, bo_table에 맞는 값으로 변경해주시면 됩니다.
다시한번 확인하게 해주셔서 감사합니다.
전체 2,411 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT