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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
게시판 멀티검색 문의 드립니다.

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

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

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

회원로그인

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