게시판 멀티검색 문의 드립니다.

게시판 멀티검색 문의 드립니다.

QA

게시판 멀티검색 문의 드립니다.

본문

그누보드 게시판 검색에서 기본검색은 단일값 또는 제목+내용 검색만 제공하는데요.

 

wr_1 : 성명

wr_2 : 등급

wr_3 : 고유번호

 

이렇게 입력을 해서,  3가지 모두를 만족하는 게시물만 검색할 수 있게 하고 싶습니다.

[제목+내용] 은 or 검색으로 나오는데요.

 

wr_1 and wr_2 and wr_3 검색이 되게 하려면 어떻게 하면 될까요?

 

이 질문에 댓글 쓰기 :

답변 2

* /bbs/list.php


if ($sca || $stx || $stx === '0') {     //검색이면
    $is_search_bbs = true;      //검색구분변수 true 지정
    $sql_search = get_sql_search($sca, $sfl, $stx, $sop);



if ($sca || $stx || $stx === '0' || ($bo_table == 'aa' && $wr_1)) {     //검색이면
    $is_search_bbs = true;      //검색구분변수 true 지정
    if ($bo_table == 'aa' && $wr_1)
      $sql_search = " wr_1 = '{$wr_1}' and wr_2 = '{$wr_2}' and wr_3 = '{$wr_3}' and wr_is_comment = '0' ";
    else
      $sql_search = get_sql_search($sca, $sfl, $stx, $sop);

알려주신 팁으로 적용중인데요. 검색 입력란에 wr_1 부터 wr_3 까지 입력받는 부분은 어떻게 수정해야 할까요? 게시판검색 기본소스에서는 입력을 1개만 받을 수 있게 되어 있어서요.

<fieldset id="bo_sch">
    <legend>게시물 검색</legend>   
    <form name="fsearch" method="get">
    <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
    <input type="hidden" name="sca" value="<?php echo $sca ?>">
    <input type="hidden" name="sop" value="and">
    <label for="sfl" class="sound_only">검색대상</label>
    <select name="sfl" id="sfl">
        <option value="wr_1"<?php echo get_selected($sfl, 'wr_1', true); ?>>성명</option>
    </select>
    <label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
    <input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx" class="frm_input required" size="15" maxlength="20">
    <input type="submit" value="검색" class="btn_submit">
    </form>
</fieldset>


<fieldset id="bo_sch">
    <legend>게시물 검색</legend>   
    <form name="fsearch" method="get">
    <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
    <input type="hidden" name="sca" value="<?php echo $sca ?>">
    <input type="hidden" name="sop" value="and">    
    성명 :  <input type="text" name="wr_1" value="<?php echo stripslashes($wr_1) ?>" required id="wr_1" class="frm_input required" size="15" maxlength="20">
    등급 :  <input type="text" name="wr_2" value="<?php echo stripslashes($wr_2) ?>" required id="wr_2" class="frm_input required" size="15" maxlength="20">
    고유번호 :  <input type="text" name="wr_3" value="<?php echo stripslashes($wr_3) ?>" required id="wr_3" class="frm_input required" size="15" maxlength="20">
    <input type="submit" value="검색" class="btn_submit">
    </form>
</fieldset>

알려주신 소스대로 적용해서 실행해보니 (게시판명 :certi1) 검색결과가 나오지 않습니다.
주소창에 찍히는 내용은 아래와 같이 보이네요.

/bbs/board.php?bo_table=certi1&sca=&sop=and&wr_1=김나나&wr_2=1111&wr_3=2222

많이 도와주셨는데, 제가 뭘 잘못한 것인지 검색결과가 나오지 않네요.

if ($sca || $stx || $stx === '0' || ($bo_table == 'aa' && $wr_1)) {

if ($sca || $stx || $stx === '0' || ($bo_table == 'certi1' && $wr_1)) {

--------------------------------------------------------------------------------

또는

$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);



$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
echo $sql;
$row = sql_fetch($sql);

을 하면 SQL문을 브라우저에서 확인할 수 있습니다.

해당 SQL문을 DB 에 직접 실행해 보면서 https://sir.kr/g5_tip/15716

어떤 부분에서 문제가 있는지 살펴 볼 수 있습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,923
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT