덕히

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

· 2019-03-28 (목) 14:07:53 · 9873 · 19

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

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

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

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

 

32191087_1553750463.3007.gif

 

*위 예시는 게시판 여분필드 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>

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

 

 

 

 

|

댓글 19개

이건 뭔 프로그램인가요 ?
2019-03-28 (목) 16:13:32
네 그누보드5 입니다. 이미지는 관리자 화면이고요.
관리자 게시판인가요 ?
ㅋㅋ
2019-03-28 (목) 17:02:45
일반 게시판에도 적용되요~! ㅎㅎ
2019-03-28 (목) 17:22:56
참고할만한 소스가 첨부되어있으면 더 좋을것 같습니다..ㅎ
찬성 ㅋㅋ 잘몰르겟어요 소스만봐서
2019-03-28 (목) 17:42:18
적혀있는 코드가 소스인데, 가독성을위해 수정했습니다.
좋은 정보 감사합니다
2019-03-28 (목) 17:41:41
아무리 봐도 쿼리 2개가 날라갈만한 요소에서 else 문땀시 두개가 날라갈수없을것 같은데요.. ㅎ

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

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

아마 가독성땀시 전체적인부분에서 일부 발췌하셨기때문에 확인되지못한 부분이 있어보입니다..
2019-03-28 (목) 18:05:04
음.. URLgroup변수는 3번 항목 php에서 정의가 되지만,
혹시 "3)php변수 스크립트로 전달" 아래 script소스를 하단에 넣으셨나요?
위치는 1번 php소스 바로 아래에 넣으면 변수생성에는 에러가 없을텐데요
2019-03-28 (목) 18:08:31
네..좀더 테스트해보겠습니다.. 좋은 팁 주셔서 감사합니다..ㅎ
2019-03-28 (목) 18:40:58
아 제가 location.href를 adm경로로 해놓았네요.
그쪽경로를 다시 수정했고, bo_table에 맞는 값으로 변경해주시면 됩니다.
다시한번 확인하게 해주셔서 감사합니다.
감사합니다
멋집니다. 대단하시구요. ^^
감사합니다.
감사합니다. 카테고리 까지 추가해서 사용하려는데 가능 할가요? 카테고리||wr_8||wr_1 3개 조건으로 말입니다.
감사합니다.
저거 만드신거 스킨게시판에 안올리시나요? ㅋㅋㅋ 올려주시면.. 떙큐베리감사하겠습니다..
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
19-04-10 조회 8,951
19-04-09 조회 1만
19-04-09 조회 5,850
19-04-09 조회 8,564
19-04-08 조회 8,594
19-04-06 조회 1.1만
19-04-06 조회 6,074
19-04-06 조회 5,916
19-04-06 조회 6,358
19-04-06 조회 6,994
19-04-06 조회 1.2만
19-04-05 조회 6,549
19-04-05 조회 6,124
19-03-31 조회 9,942
19-03-31 조회 6,245
19-03-29 조회 6,777
19-03-28 조회 6,236
19-03-28 조회 9,874
19-03-27 조회 6,301
19-03-26 조회 8,653
19-03-26 조회 6,618
19-03-25 조회 1.2만
19-03-25 조회 7,460
19-03-25 조회 7,346
19-03-23 조회 6,275
19-03-19 조회 6,076
19-03-15 조회 6,753
19-03-13 조회 8,802
19-03-12 조회 8,105
19-03-12 조회 6,947