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

stx 를 추가할 수는 없나요? 채택완료

안녕하세요. 항상 도움 받고 있습니다. 

검색 기능을 구현 중인데 버튼으로 or 로 sfl 값을 필드 값을 get 으로 보내는 것은 했는데 stx 값은 하나 밖에 없더라고요. stx 를 추가할 수 없나요? 

stx 를 추가해서 다중 검색을 하려고 합니다. 

아니면 stx 를 배열로 여러 검색어를 검색할 수도 있나요?

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

답변 4개

채택된 답변
+20 포인트

stx ($search_text)를 " " 공백 구분자로 구분해서 만들어 주시면 됩니다.

common.lib.php 파일의 get_sql_search 함수에서 아래 부분을 확인해 보세요.

// 검색어를 구분자로 나눈다. 여기서는 공백     $s = array();     $s = explode(" ", $search_text);

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

답변에 대한 댓글 4개

답변감사합니다. 이건 기존 파일이 이렇게 되어있는데 따로 수정을 해야하는 부분은 없나요?
코어를 수정하시기 보다는 스킨 상에서
stx를 가공하시는 게 좋을 것 같습니다.
아하 그렇군요 .. 제가 이해를 잘 못해서 정말 죄송합니다. stx 가 하나로 되어있는데 stx 를 배열로 저장해 주려면 어떻게 해야하나요? 그러니까 .. stx 라는 name 과 id 를 가진 텍스트 상자를 두개 만들어서 검색을 할 때 두 상자안의 값을 배열로 전달 할 수 있게요.
그렇게는 불가능합니다.
id는 고유해야 하며, 폼으로 전달되는 name 역시 고유해야 합니다.
name 중복 시, 나중 값만 전달돼요.
메인드 님 답변처럼 띄어쓰기로 여러값 전달하고, 서버단에서 explode로 쪼개서 배열로 사용해야 합니다.

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

stx 라는 name 과 id 를 가진 텍스트 상자를 두개 만들어서 검색을 할 때 두 상자안의 값을 배열로 전달 할 수 있게요. <==검색폼에서 입력을 배열로 두개 만듭니다

if(!isset($tmp[0])) $tmp[0] = ''; if(!isset($tmp[1])) $tmp[1] = '';

?>

검색어1

검색어2

 

list.php 첫부분에 추가합니다

if( isset($stxk) && is_array($stxk) ) $stx = implode(' ', $stxk);

 

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

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

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

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

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

배열전송은 get방식은 불가하고요

POST방식으로 전송하여 커스텀하여 적용하시면 되는 부분입니다.

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

답변에 대한 댓글 1개

https://host?foo[]=a&foo[]=b&foo[]=c
불가하다고요???

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

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

로그인

전체 질문 목록

🐛 버그신고