게시판 리스트에서 검색.. 정보
그누보드 게시판 리스트에서 검색..본문
게시판리스트에 보면 검색하는 부분에서
보통 보면
제목
제목+이름
이름
... 이렇게 되어있잖아요..
여기서 전체는 업는거 같은데요..
전체 검색을 하려면 어떻게 수정해줘야하나요..
보통 보면
제목
제목+이름
이름
... 이렇게 되어있잖아요..
여기서 전체는 업는거 같은데요..
전체 검색을 하려면 어떻게 수정해줘야하나요..
댓글 전체
감사합니다. 수고하십시요..
그렇죠..위에분 말씀대로 기존검색 펑션에서 전체항목을 추가하고 싶다면 게시판의 모든 필드항목을 case 옵션으로 추가해 주면 됩니다..근데 like 보다는 INSTR 이 좀 빠르던데..(게시물이 많을경우는 좀 차이가 나더군요..미세하긴 하지만...^^;)

gnuboard.lib.php 에서
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 "ca_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;
// 추가부분
case "allseach" :
$str .= " (wr_subject like '%$s[$i]%' or wr_content like '%$s[$i]%' or mb_name like '%$s[$i]%' ) ";
break;
// 추가부분
default :
$str .= " ($field like '%$s[$i]%') ";
break;
}
$op = ($soperator) ? " and " : " or ";
}
$str .= " ) ";
return $str;
}
위에서처럼 추가하고싶은걸 필드를 추가하고
스킨의 gblist.skin.php에서
<form name=fsearch method=get action='<?="./"?>'>
<input type=hidden name=doc value='<?=$doc?>'>
<input type=hidden name=bo_table value='<?=$bo_table?>'>
<td width=50% align=right valign=bottom>
<select name=sselect class=select>
<option value='wr_subject'>제목</option>
<option value='wr_content'>내용</option>
<option value='wr_subject|wr_content'>제목+내용</option>
<option value='allsearch'>전체</option>
<option value='wr_name'>이름</option>
<option value='wr_num'>번호</option>
<option value='wr_datetime'>날짜</option>
<option value='wr_hit'>읽음</option>
<? if ($is_good) { ?><option value='wr_good'>추천</option><? } ?>
<? if ($is_nogood) { ?><option value='wr_nogood'>비추천</option><? } ?>
</select>
<input type=text name=stext size=10 required itemname='검색어' value='<?=$stext?>' >
<select name=soperator class=select>
<option value='1'>AND</option>
<option value='0'>OR</option>
</select>
<input type=image src='<?="$board_skin/search.gif"?>' border=0 alt='검색' align=absmiddle>
</td>
</form>
이런씩으로 처리하시면 되지 싶네요!
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 "ca_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;
// 추가부분
case "allseach" :
$str .= " (wr_subject like '%$s[$i]%' or wr_content like '%$s[$i]%' or mb_name like '%$s[$i]%' ) ";
break;
// 추가부분
default :
$str .= " ($field like '%$s[$i]%') ";
break;
}
$op = ($soperator) ? " and " : " or ";
}
$str .= " ) ";
return $str;
}
위에서처럼 추가하고싶은걸 필드를 추가하고
스킨의 gblist.skin.php에서
<form name=fsearch method=get action='<?="./"?>'>
<input type=hidden name=doc value='<?=$doc?>'>
<input type=hidden name=bo_table value='<?=$bo_table?>'>
<td width=50% align=right valign=bottom>
<select name=sselect class=select>
<option value='wr_subject'>제목</option>
<option value='wr_content'>내용</option>
<option value='wr_subject|wr_content'>제목+내용</option>
<option value='allsearch'>전체</option>
<option value='wr_name'>이름</option>
<option value='wr_num'>번호</option>
<option value='wr_datetime'>날짜</option>
<option value='wr_hit'>읽음</option>
<? if ($is_good) { ?><option value='wr_good'>추천</option><? } ?>
<? if ($is_nogood) { ?><option value='wr_nogood'>비추천</option><? } ?>
</select>
<input type=text name=stext size=10 required itemname='검색어' value='<?=$stext?>' >
<select name=soperator class=select>
<option value='1'>AND</option>
<option value='0'>OR</option>
</select>
<input type=image src='<?="$board_skin/search.gif"?>' border=0 alt='검색' align=absmiddle>
</td>
</form>
이런씩으로 처리하시면 되지 싶네요!