그누보드 검색 정확히 입력안하고 포함된 단어 글 모두 출력
본문
그누보드 검색 정확히 입력안하고 포함된 단어 글 모두 출력하는법있나요?
예를들어 제목이 abc면 ab만입력해도 나오게요
답변 2
기본적으로 SELECT * FROM 게시판_테이블 WHERE 제목 LIKE '%검색어%' 검색을 해야 합니다.
아래의 내용을 한번 참고를 해보세요..
1. 검색하는 부분에 함수를 수정하구요..
if ($sca || $stx) {
// $sql_search = get_sql_search($sca, $sfl, $stx, $sop);
$sql_search = get_sql_search_custom($sca, $sfl, $stx, $sop);
// ...
}
2. common.lib.php 파일에 검색함수를 수정합니다.
function get_sql_search_custom($search_ca_name, $search_field, $search_text, $search_operator='and')
{
global $g5;
$str = "";
if ($search_ca_name)
$str = " ca_name = '$search_ca_name' ";
$search_text = strip_tags(($search_text));
$search_text = trim(stripslashes($search_text));
if (!$search_text) {
if ($search_ca_name) {
return $str;
} else {
return '';
}
}
if ($str)
$str .= " and ";
// 필드를 배열로 변경
$tmp_array = array();
$tmp_array = explode(",", $search_field);
$field_pattern = "";
foreach ($tmp_array as $field) {
$field = trim($field);
if ($field) {
$field_pattern .= $field . " LIKE '%{$search_text}%' or ";
}
}
$field_pattern = substr($field_pattern, 0, -4); // 마지막 'or ' 제거
$str .= "($field_pattern)";
return $str;
}
이 내용을 한번 참고해서 수정을 해보세요.
검색부분 쿼리를 LIKE '%검색어%' 형태로 커스텀 하면 됩니다.