sfl=wr_1&stx=공백

sfl=wr_1&stx=공백

QA

sfl=wr_1&stx=공백

본문

공백만 검색해서 값을 가져오고싶은데 가능할까요 .. ?

sfl=wr_1&stx=

 

와 같이 검색해보면 전체 데이터를 가져오더라구여 ㅜ

코드를 수정해야겠죠..?

 

도움주셔서 감사합니다.

이 질문에 댓글 쓰기 :

답변 2

공백을 검색한다구요?

아버지 가 방에 들어 가신다<----이 문장에서 공백을 어떻게 검색하겠다는 발상인가요? 

어떤 처리를 하고 싶은 것인지 용도를 이야기 해보세요 

하여튼 그누보드에 그런 기능은 들어있지않습니다

 

공백을 전달하는 것이 안되니 stx=BLANK 이런식으로 다른 문자로 전달하고

검색코드에서 다음처럼 해주면 되겠습니다

if($stx=='BLANK') $sql_search="$sfl LIKE '% %' ";

or

if($stx=='BLANK') $sql_search="INSTR($sfl, ' ')";

 

 

아마도 공백이 아니라 데이터가 없는 걸 검색하고 싶으시다는것이겠죠?

공백을 검색한다는건 여지껏 듣도 보도 못한 내용이라;;

 

그누보드의 기본 검색 연산자는 '=' 로만 되어있어서 not 은 불가능합니다.

코어쪽을 조금 손보셔야 합니다.

 

/bbs/list.php 에 보시면

 

if ($is_search_bbs) { $sql = " select distinct wr_parent from {$write_table} where....

 

이런식으로 검색에 대한 쿼리문이 있는데

여기에

 

$adp_custom_sql = " wr_1 = '' and ";

if ($is_search_bbs) { $sql = " select distinct wr_parent from {$write_table} where {$adp_custom_sql}...

 

이런식으로 wr_1 컬럼이 빈것만 가져오라는 추가 조건문을 붙일 수 있습니다.

다만 이렇게 되면 리스트는 wr_1 값이 없는것만 가져오지만 총 게시물수와 아래 페이징이 맞지 않습니다.

해당 부분도 수정해줘야 하는데

 

80 라인쯤 보시면

$total_count = $board['bo_count_write'];

 

이렇게 총 게시물 수를 g5_write_해당테이블 이 아닌 누적 기록된 $board 배열에서 가져옵니다.

(새롭게 계산이 아닌 게시글 쓸때마다 +1 씩 카운트)

 

그러면 커스텀 검색 변수가 할당되어있을때

 


    if(isset($adp_custom_sql) && $adp_custom_sql){ // 커스텀 검색을 쓴다면 총 글수를 별도 쿼리
        $adp_sql = " SELECT COUNT(wr_id) AS `cnt` FROM {$write_table} WHERE {$adp_custom_sql} wr_is_comment = '0'";
        $adp_row = sql_fetch($adp_sql);
        $total_count = $adp_row['cnt'];
    } else {
        $adp_custom_sql = '';
        $total_count = $board['bo_count_write'];
    }

 

이렇게 분기하여 총 게시물을 카운트 해줘야 합니다.

그리고 매번 커스텀 쿼리를 list.php 에 적을수 없으니

 

list.php 상단에 적당한곳에

 

if (file_exists($board_skin_path.'/adp_custom_sql.php')) { @include_once($board_skin_path.'/adp_custom_sql.php'); } else { $adp_custom_sql = ''; }

 

인클루드 문 하나 넣어주고

 

게시판 스킨과 동일한 위치에 adp_custom_sql.php 파일하나 생성한뒤

 

$adp_custom_sql = "wr_1 = '' and ";

이런식으로 추가 쿼리문을 넣어주면됩니다.

상시가 아니라면 별도 if 등으로 분기하시구요.

 

이해가 안되신다면 의뢰로 가시면 10만원 언더로 해결될것 같습니다.

좋은결과 있으시길 바랄께요~

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

회원로그인

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