테스트 사이트 - 개발 중인 베타 버전입니다

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

janen 6년 전 조회 2,133

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

select name="stx"

로 하면 하나의 셀렉트는 검색이 되는데 두개 이상은 안되더라구요.. $stx2 $stx3을 만드는것도 실패하고 ㅠ,ㅠ 검색폼이 생각보다 엄청나게 어렵네요..

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

답변 2개

채택된 답변
+20 포인트
6년 전

$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);

...

}

 

 

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

답변에 대한 댓글 1개

j
janen
6년 전
감사합니다 ! 덕분에 성공했네요ㅠㅠㅠ

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

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

ex) value1|value2|value3

stx를  배열로 잘라서 

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

 

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

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

 

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

답변에 대한 댓글 1개

j
janen
6년 전
php문을 잘 모르는 초보라 ㅠ.ㅠ
어쨌든 해결은 됬습니다 ㅠㅠ
관심 가져주셔서 감사드립니다!

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

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

로그인