모든 필드를 대상으로 검색을 할려면 어떻게 하나요? > 그누3질답

그누3질답

모든 필드를 대상으로 검색을 할려면 어떻게 하나요? 정보

그누보드 모든 필드를 대상으로 검색을 할려면 어떻게 하나요?

본문

전체검색에서 제가 쓰는 방법입니다만...
추가한 필드 검색은 되더군요...

gnusearch.php에서요

$k=0;
for ($idx=$table_index; $idx<count($search_table); $idx++) {

    $sql = " select bo_subject from $cfg[table_board] where bo_table = '$search_table[$idx]' ";
    $row = sql_fetch($sql);
    echo "<ul type=circle><li><b><a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$search_table[$idx]&$search_query'><u>$row[bo_subject]</u></a>에서의 검색결과</b></ul>";

    $tbl = $cfg[write_table_prefix] . $search_table[$idx];
    $sql = " select * from $tbl $sql_search order by wr_id desc limit $from_record, $rows ";
    $result = sql_query($sql);
    for ($i=0; $row=mysql_fetch_array($result); $i++) {
        echo "<ul><ul type=square><li style='line-height:130%;'>";
        $link = "./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$search_table[$idx]&wr_id=$row[wr_parent_id]&$search_query";
        if ($row[wr_comment]) {
            $link .= "#c{$row[wr_id]}";
            echo "<font color=999999>[코멘트]</font> ";
            $sql2 = " select wr_subject, wr_secret from $tbl where wr_id = '$row[wr_parent_id]' ";
            $row2 = sql_fetch($sql2);
            $row[wr_subject] = $row2[wr_subject];
            // 비밀글은 검색 불가
            if ($row2[wr_secret]) {
                $row[wr_content] = "********";
            }
        }
        echo "<a href='$link'><u>";

        $subject = $row[wr_subject];
       
        $content = cut_str(get_text($row[wr_content]),300,"…");
        $content2 = cut_str(get_text($row[wr_content2]),300,"…");//추가한 필드
          $content3 = cut_str(get_text($row[wr_content3]),300,"…");//추가한 필드
          $content4 = cut_str(get_text($row[wr_content4]),300,"…");//추가한 필드
            $content5 = cut_str(get_text($row[wr_content5]),300,"…");//추가한 필드
            $content6 = cut_str(get_text($row[wr_content6]),300,"…");//추가한 필드
        for ($m=0; $m<count($s); $m++) {
            if (preg_match("/wr_subject/", $sselect)) {
                $subject = set_search_font($s[$m], $subject);
            }
            if (preg_match("/wr_content/", $sselect)) {
                $content = set_search_font($s[$m], $content);
                $content2 = set_search_font($s[$m], $content2);//추가한 필드
                $content3 = set_search_font($s[$m], $content3);//추가한 필드
                $content4 = set_search_font($s[$m], $content4);//추가한 필드
                $content5 = set_search_font($s[$m], $content5);//추가한 필드
                $content6 = set_search_font($s[$m], $content6);//추가한 필드
            }
        }

        echo get_search_font($subject);
        echo "</u></a> [<a href='$link' target=_blank>새창</a>]<br>";
        echo get_search_font($content);
        echo get_search_font($content6);//추가한 필드
        echo get_search_font($content2);//추가한 필드
        echo get_search_font($content3);//추가한 필드
        echo get_search_font($content4);//추가한 필드
        echo get_search_font($content5);//추가한 필드
        $mb = get_member($row[mb_id]);
        $tmp_name = gblayer($row[mb_id], $row[wr_name], $row[wr_email], $row[wr_homepage], $mb[mb_open]);
        echo "<br><font color=#999999>$row[wr_datetime]</font>&nbsp;&nbsp;&nbsp; $tmp_name<br>";
        echo "</ul></ul>\n";
        $k++;
        if ($k >= $rows) { break; }
    }
    mysql_free_result($result);
    if ($k >= $rows) { break; }
    $from_record = 0;
}

이런 식으로 해보셔요..
  • 복사

댓글 전체

답변감사합니다. 만도님...
제가 워낙 초보라서..^^

제가 기본필드에 10개를 더 추가를 시켰거든요......
그누검색이 아닌 게시판검색에서 전체필드를 대상으로 검색을 하고 싶거든요.
될수 있다면 상세검색을 할수 있을까요??? ^^

 gblist.skin.php 에 보면은
 <select name=sselect class=select>
            <option value='wr_subject|wr_content'>제목+내용</option>
            <option value='wr_name'>이름</option>
            <option value='wr_num'>번호</option>
            <option value='wr_datetime'>날짜</option>
            <option value='wr_subject'>제목</option>
            <option value='wr_content'>내용</option>
            <option value='wr_hit'>읽음</option>
            <? if ($is_good) { ?><option value='wr_good'>추천</option><? } ?>
            <? if ($is_nogood) { ?><option value='wr_nogood'>비추천</option><? } ?>
        </select>
이렇게 되어 있는데...

 <select name=sselect class=select>
            <option value='????????????'>전체검색</option>
            <option value='wr_subject|wr_content'>제목+내용</option>
            <option value='wr_name'>이름</option>
            <option value='wr_num'>번호</option>
            <option value='wr_datetime'>날짜</option>
            <option value='wr_subject'>제목</option>
            <option value='wr_content'>내용</option>
            <option value='wr_hit'>읽음</option>
            <? if ($is_good) { ?><option value='wr_good'>추천</option><? } ?>
            <? if ($is_nogood) { ?><option value='wr_nogood'>비추천</option><? } ?>
        </select>
이렇게 만들어 볼려구 하는데... 도저히 모르겠네요..
<option value='wr_name|wr_num'>이름+번호<option> 이렇게 바꿔서 하니까 안되던데..
이런식으로 할수 있는 방법이 있는지요? 
혹시 아는부분이라면 좀 알려주세요..
© SIRSOFT
현재 페이지 제일 처음으로