통합검색을 셀렉트로 만들었을때 셀렉트 값을 stx로 보내는 방법이 있을까요?

통합검색을 셀렉트로 만들었을때 셀렉트 값을 stx로 보내는 방법이 있을까요?

QA

통합검색을 셀렉트로 만들었을때 셀렉트 값을 stx로 보내는 방법이 있을까요?

본문

input=text 를 stx로 하는게 아니라
셀렉트를 여러개 만들어서 stx값으로 전송시키는 방법이 있을까요?

select name="stx"

로 하면 하나의 셀렉트는 검색이 되는데
두개 이상은 안되더라구요..

$stx2 $stx3을 만드는것도 실패하고 ㅠ,ㅠ

검색폼이 생각보다 엄청나게 어렵네요..

이 질문에 댓글 쓰기 :

답변 2

$sfl 에 'wr_subject',

$stx 에 '사과' 라면..

=> 제목에 '사과'가 포함된 게시글이 검색됩니다.

 

$sfl 에 'wr_subject',

$stx 에 '사과 참외 귤' 이라면.. (구분자는 공백(' '))

=>

$sop 가 'and'라면 제목에 '사과', '참외', '귤'이 모두 포함된 게시글이

$sop 가 'or'라면 제목에 '사과' 또는 '참외' 또는 '귤' 이 포함된 게시글이 

 

검색됩니다. ($sop 의 기본값은 'and' 입니다.)

※ /lib/common.lib.php 의 get_sql_search() 참조

 

$stx 로 전송하고자 하는 셀렉트박스가 여러개이고, 'or' 검색을 하고 싶다면..

$sop 는 'or' 로 저장

$stx 는 ' ' (공백)으로 합하여 저장한 후 넘겨주면 됩니다.

 

ex.

sop 와 stx 를 히든 필드로 처리

셀렉트 박스의 name 을 stx1, stx2, stx3 로 한다면..

function tsearch_submit(f) {

...

$('input[name=sop]').val('or');

var str = $('select[name=stx1]').val() + ' ' + ('select[name=stx2]').val() + ' ' + ('select[name=stx3]').val();

$('input[name=stx]').val(str);

...

}

 

 

stx를 특정 구분자로 문자열 형식으로 만든후 검색 폼 전송하고

ex) value1|value2|value3

stx를  배열로 잘라서 

$stxArr = explode($_POST['stx']);

 

검색쪽에서 AND [검색할필드명] IN('".implode("','", $stxArr )."')

이렇게 하면 되지않을까요?

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,128 | RSS
QA 내용 검색

회원로그인

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