키워드 검색시 띄워쓰기한 키워드 처리 부분

키워드 검색시 띄워쓰기한 키워드 처리 부분

QA

키워드 검색시 띄워쓰기한 키워드 처리 부분

본문

안녕하세요.

 

그누보드5 내 검색창에서 검색시 띄어쓰기로 2단어 또는 여러단어 검색시 처리를 어떻게 해주어야 하는지요?

 

예를들어

 

검색창에 

 

"그누보드 영카트" 검색하면

 

그누보드+영카트 이렇게 get으로 넘어가는데

 

조건문을 for 문으로 돌려 만들어 조건문으로 추가를 해주어야 할거 같은데

 

처리문장을 잘 못만들겠네요ㅠ

 

 


if ($keyword) {
    if (strpos($keyword, "+")) {
        $search_keyword = explode("+", $keyword)
        $keyword_count = count($search_keyword)
        
        for($n =0; $n<$keyword_count; $n ) {
            $sql .= " AND (CONCAT(wr_area1, wr_area2, wr_area3) like '%".$keyword[$n]."%')";
        }
    } else {
        $sql .= " AND (CONCAT(wr_area1, wr_area2, wr_area3) like '%".$keyword."%')";
    }
}

 

이래저래 해봤는데 이렇게 하면 띄어쓰기한 검색어 조건식이 될까요?

이 질문에 댓글 쓰기 :

답변 4

아이키스님 답변으로 해결이 되었다는 말인가요?

제가 보기엔 코드가 잘못 된 것으로 보이는데요

주소창에 +로 보인다고 해서 검색어에서 +를 찾으면 없을텐데요?

다음처럼 해보세요

if (strpos($keyword, "+")){ ===> 수정

$keyword = trim($keyword);

if (strpos($keyword, " ")){

$search_keyword = explode(" ", $keyword);

다음행 마지막에 세미콜론 빠졌네요

 

 

if (strpos($keyword, "+") !== false) {

이 부분만 수정하면 될 것 같습니다.

어떤 파일을 적업하신 건가요?

Php에서 GET 값을 받을 때면
+는, 대게 공백으로 바뀌어 있습니다.
lib/common.lib.php
get_sql_search() 함수에서


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

여기서 해 보세요

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

회원로그인

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