그누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)
{
$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 인자는 적을 필요가 없습니다. 또는 공백으로('') 넘겨주십시오.
* 나머지는 응용해서 쓰십시오.
당연히 빈공백값이 들어가겠지요.
또한 회원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 인자는 적을 필요가 없습니다. 또는 공백으로('') 넘겨주십시오.
* 나머지는 응용해서 쓰십시오.