검색 선택 지정, 다중검색? ㅡㅡ;; > 그누3질답

그누3질답

검색 선택 지정, 다중검색? ㅡㅡ;; 정보

검색 선택 지정, 다중검색? ㅡㅡ;;

본문

위 처럼 셀렉트 폼으로 검색범위를 줄여 줄 수 있도록 하고싶어요.
그니깐.. 셀렉트폼에서 선택한 거를.. 검색어에 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 .= " ) ";
대충 한번 적어볼께요

응용해보세요

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;  //추가
© SIRSOFT
현재 페이지 제일 처음으로