검색 선택 지정, 다중검색? ㅡㅡ;; 정보
검색 선택 지정, 다중검색? ㅡㅡ;;관련링크
본문
위 처럼 셀렉트 폼으로 검색범위를 줄여 줄 수 있도록 하고싶어요.
그니깐.. 셀렉트폼에서 선택한 거를.. 검색어에 and로 포함하고 싶어요..
질문답변을 뒤졌는데
저 이미지와 저와 같은 질문이 있던데
답변해주신 분의 설명이 저같은 허접이 알아들을 수가 없어서..
도움을 요청합니다..ㅡㅡ;;
(이미지는 그 질문에서 따왔습니다. 거기가 질문 내용이 더 자세할 수도 있겠네요.
원래 질문 URL http://sir.co.kr/bbs/tb.php/g3_qa/23599 )
도움을 주신다면 평생의 은혜로 알고 살겠습니다...
그니깐.. 셀렉트폼에서 선택한 거를.. 검색어에 and로 포함하고 싶어요..
질문답변을 뒤졌는데
저 이미지와 저와 같은 질문이 있던데
답변해주신 분의 설명이 저같은 허접이 알아들을 수가 없어서..
도움을 요청합니다..ㅡㅡ;;
(이미지는 그 질문에서 따왔습니다. 거기가 질문 내용이 더 자세할 수도 있겠네요.
원래 질문 URL http://sir.co.kr/bbs/tb.php/g3_qa/23599 )
도움을 주신다면 평생의 은혜로 알고 살겠습니다...
댓글 전체
gnuboard.lib.php
146번 줄 수정해야하면 되게네요
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;
default :
//$str .= " ($field like '%$s[$i]%') ";
// 3.36
$str .= " (INSTR(LOWER($field), LOWER('$s[$i]')) > 0) ";
break;
}
$op = ($soperator) ? " and " : " or ";
}
$str .= " ) ";
146번 줄 수정해야하면 되게네요
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;
default :
//$str .= " ($field like '%$s[$i]%') ";
// 3.36
$str .= " (INSTR(LOWER($field), LOWER('$s[$i]')) > 0) ";
break;
}
$op = ($soperator) ? " and " : " or ";
}
$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?>'>
<input type=hidden name=sselect value='all'>
<input type=hidden name=stext value='학원검색어'>
<td width=50% align=right valign=bottom>
<select name=wr_1 class=select>
<option value='2000'>2000</option>
</select>
<select name=wr_2 class=select>
<option value='과목'>과목</option>
</select>
<select name=wr_3 class=select>
<option value='학교'>학교</option>
</select>
<select name=wr_4 class=select>
<option value='출판사'>출판사</option>
</select>
<select name=soperator class=select>
<option value='0'>OR</option>
<option value='1'>AND</option>
</select>
<input type=image src='<?="$board_skin/search.gif"?>' border=0 alt='검색' align=absmiddle>
</td>
</form>
==========================================
bbs/gblist.php
// 검색어가 있다면
if ('' != $stext) {
if($sselect == 'all') // all일경우만 실행 <<===추가
$stext = "$wr_1 $wr_2 $wr_3 $wr_4 $wr_5"; // 추가
$sql_search = get_sql_search($sselect, $stext, $soperator);
==========================================
lib/gnuboard.lib.php
144줄 // 검색어를 구분자로 나눈다. 여기서는 공백
$s = explode(" ", $stext);
for ($i=0,j=0; $i<count($s); $i++) { //,j=0 추가
$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 "all" : //추가
j++; //추가
$str .= " ({wr_$j} like '%$s[$i]%'); //추가
break; //추가
응용해보세요
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?>'>
<input type=hidden name=sselect value='all'>
<input type=hidden name=stext value='학원검색어'>
<td width=50% align=right valign=bottom>
<select name=wr_1 class=select>
<option value='2000'>2000</option>
</select>
<select name=wr_2 class=select>
<option value='과목'>과목</option>
</select>
<select name=wr_3 class=select>
<option value='학교'>학교</option>
</select>
<select name=wr_4 class=select>
<option value='출판사'>출판사</option>
</select>
<select name=soperator class=select>
<option value='0'>OR</option>
<option value='1'>AND</option>
</select>
<input type=image src='<?="$board_skin/search.gif"?>' border=0 alt='검색' align=absmiddle>
</td>
</form>
==========================================
bbs/gblist.php
// 검색어가 있다면
if ('' != $stext) {
if($sselect == 'all') // all일경우만 실행 <<===추가
$stext = "$wr_1 $wr_2 $wr_3 $wr_4 $wr_5"; // 추가
$sql_search = get_sql_search($sselect, $stext, $soperator);
==========================================
lib/gnuboard.lib.php
144줄 // 검색어를 구분자로 나눈다. 여기서는 공백
$s = explode(" ", $stext);
for ($i=0,j=0; $i<count($s); $i++) { //,j=0 추가
$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 "all" : //추가
j++; //추가
$str .= " ({wr_$j} like '%$s[$i]%'); //추가
break; //추가