그누3의 gnuboard.lib 파일을 수정하려는데 고수님 도움을 요청합니다. > 그누3질답

그누3질답

그누3의 gnuboard.lib 파일을 수정하려는데 고수님 도움을 요청합니다. 정보

그누3의 gnuboard.lib 파일을 수정하려는데 고수님 도움을 요청합니다.

본문

게시판에서 검색을할때 어떠한 조건이든 로그인한 회원이 작성한 게시글만을 검색되게 필수로 지정하려합니다.
아래에서 $ps2를 게시판리스트에서 회원아이디로 변수를 주어 날렸는데 먹혀들지않느군요
어디를 손봐야할지.....



////아래는 문제의 부분입니다.


function get_sql_search($field, $stext, $soperator=0)
{
    $op = "";
    $str = " and ( ";
    // 검색어를 구분자로 나눈다. 여기서는 공백
    $s = explode(" ", $stext);

    for ($i=0 ; $i<count($s); $i++) {
        $str .= " $op ";

        switch ($field) {
            case "wr_subject|wr_content" :
                $str .= " (wr_subject like '%$s[$i]%' or wr_content like '%$s[$i]%') ";
                break;
case "wr_all" :
                $str .= " (wr_subject like '%$s[$i]%' or wr_content like '%$s[$i]%' or wr_1 like '%$s[$i]%' or wr_2 like '%$s[$i]%' or wr_3 like '%$s[$i]%' or wr_4 like '%$s[$i]%' or wr_5 like '%$s[$i]%') ";
                break;

            case "ca_id" :
                $str .= " ($field = '$s[$i]') ";
                break;
            case "mb_id" :
                $str .= " ($field = '$s[$i]') ";
                break;




            case "wr_hit" :
            case "wr_good" :
            case "wr_nogood" :
                $str .= " ($field >= '$s[$i]') ";
                break;
            case "wr_num" :
                $str .= " ($field = ".((-1)*$s[$i]).") ";
                break;
            default :


////////요기아래 $ps2 가 먹히지않네요

                $str .= " ($field like '%$s[$i]%'  and mb_id = '%$ps2%' ) ";
                break;
        }
        $op = ($soperator) ? " and " : " or ";
    }
    $str .= " ) ";

    return $str;
}

댓글 전체

$ps2 라는 인자값이 function get_sql_search($field, $stext, $soperator=0)  이 펑션에 없습니다.
당연히 빈공백값이 들어가겠지요.
또한 회원id 값으로 조회할때는 정확히 매치되는걸 찾아야 합니다.
그러므로 and mb_id = '%$ps2%' 라는 쿼리도 틀린 것입니다.

아래를 참고 하십시오.
function get_sql_search($field, $stext, $soperator=0, $ps2=''){

    기존 코드........
    .............

    if(!empty($ps2)){
        $str .= " ($field like '%$s[$i]%'  and mb_id = '$ps2' ) ";
                break;
}

// 위 펑션으로 넘겨줄때.. 앞 부분의 3개의 인자는 원래걸로 하고...
get_sql_search(첫번째인자, 두번째인자, 세번째인자, $ps2인자(회원 id로 넘겨주십시오.)
* 만약 $ps2 인자를 사용하지 않을경우 위의 $ps2 인자는 적을 필요가 없습니다.  또는 공백으로('') 넘겨주십시오.

* 나머지는 응용해서 쓰십시오.
전체 9,564
그누3질답 내용 검색

회원로그인

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