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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
키워드 검색시 띄워쓰기한 키워드 처리 부분

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,544
QA 내용 검색

회원로그인

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