stx 를 추가할 수는 없나요?
본문
안녕하세요. 항상 도움 받고 있습니다.
검색 기능을 구현 중인데 버튼으로 or 로 sfl 값을 필드 값을 get 으로 보내는 것은 했는데 stx 값은 하나 밖에 없더라고요. stx 를 추가할 수 없나요?
stx 를 추가해서 다중 검색을 하려고 합니다.
아니면 stx 를 배열로 여러 검색어를 검색할 수도 있나요?
답변 4
stx ($search_text)를 " " 공백 구분자로 구분해서 만들어 주시면 됩니다.
common.lib.php 파일의 get_sql_search 함수에서 아래 부분을 확인해 보세요.
// 검색어를 구분자로 나눈다. 여기서는 공백
$s = array();
$s = explode(" ", $search_text);
stx 라는 name 과 id 를 가진 텍스트 상자를 두개 만들어서 검색을 할 때 두 상자안의 값을 배열로 전달 할 수 있게요. <==검색폼에서 입력을 배열로 두개 만듭니다
<?php if(isset($stx) && $stx) $tmp = explode(' ', $stx);
if(!isset($tmp[0])) $tmp[0] = ''; if(!isset($tmp[1])) $tmp[1] = '';
?>
검색어1 <input name="stxk[]" value="<?php echo $tmp[0]?>">
검색어2 <input name="stxk[]" value="<?php echo $tmp[1]?>">
list.php 첫부분에 추가합니다
if( isset($stxk) && is_array($stxk) ) $stx = implode(' ', $stxk);
배열전송은 get방식은 불가하고요
POST방식으로 전송하여 커스텀하여 적용하시면 되는 부분입니다.
stx 값에 여러정보를 넣어도 like 로 검색하기 때문에 원하는 결과가 나오지 않을수 있어요.
게시판 스킨에서 멀티검색 샘플 있으니 그거 참고하셔서 원하시는대로 제작하세요.
https://sir.kr/g5_skin/34034?sca=%EA%B2%8C%EC%8B%9C%ED%8C%90&sfl=wr_subject&stx=%EB%A9%80%ED%8B%B0