게시판 작성자 (이름) 검색 질문드립니다
본문
게시판 목록에서 작성자 이름을 검색하게되면
"홍길동"일 경우 "홍길동"을 다 쳐야만 나와서요ㅜㅜ
여분필드도 검색이 되도록 추가했는데 여분필드는 "홍길"만 검색해도 홍길동이 같이 나오는데..
wr_name 으로 검색하면 정확하게 이름을 다 써야만 나와서요ㅜㅜ
혹시 이거 어디서 수정해야할까요
답변 2
/lib/common.lib.php 636줄 근처에서 아래의 소스에서 이름 검색 부분에 주석(//)을 하면 됩니다.
$str .= $op2;
switch ($field[$k]) {
case "mb_id" :
//case "wr_name" :
// $str .= " $field[$k] = '$s[$i]' ";
// break;
case "wr_hit" :
case "wr_good" :
case "wr_nogood" :
$str .= " $field[$k] >= '$s[$i]' ";
break;
// 번호는 해당 검색어에 -1 을 곱함
case "wr_num" :
$str .= "$field[$k] = ".((-1)*$s[$i]);
break;
case "wr_ip" :
case "wr_password" :
$str .= "1=0"; // 항상 거짓
break;
// LIKE 보다 INSTR 속도가 빠름
default :
if (preg_match("/[a-zA-Z]/", $search_str))
$str .= "INSTR(LOWER($field[$k]), LOWER('$search_str'))";
else
$str .= "INSTR($field[$k], '$search_str')";
break;
}
eyekiss 님의 글을 이어 좀 다른방식은
case "wr_name" :
$str .= " $field[$k] like '%{$s[$i]}%' ";
break;
로 변경하는 것도 방법입니다.
검색자체가 100% 일치하는 ' = ' 이 아닌 Like 검색으로 하면 해결됩니다.