stx 를 추가할 수는 없나요?

stx 를 추가할 수는 없나요?

QA

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 가 하나로 되어있는데 stx 를 배열로 저장해 주려면 어떻게 해야하나요? 그러니까 .. stx 라는 name 과 id 를 가진 텍스트 상자를 두개 만들어서 검색을 할 때 두 상자안의 값을 배열로 전달 할 수 있게요.

그렇게는 불가능합니다.
id는 고유해야 하며, 폼으로 전달되는 name 역시 고유해야 합니다.
name 중복 시, 나중 값만 전달돼요.
메인드 님 답변처럼 띄어쓰기로 여러값 전달하고, 서버단에서 explode로 쪼개서 배열로 사용해야 합니다.

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

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

회원로그인

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