상세검색하기(?) > 그누3 팁자료실

그누3 팁자료실

상세검색하기(?) 정보

그누호환 상세검색하기(?)

본문

제가 그누보드를 이용해서 부동산 싸이트를 하나 만들다가 필요해서 그누샾과 관리자님이 제작하신 부동산페이지 보고 여기저기 짜깁기해서 성공하게 되었는데, 혹시 필요하신분 있을것 같아서 미흡하나마 처음으로 팁이란걸 올려봅니다.
허접하다고 욕하지 마시고 혹시 틀린부분이 있으면 주저없이 지적해주시면 감사하겠습니다.
관련 사이트는 링크1번입니다...

먼저 보드 스킨만드실때에 검색하시고자 하는 필드 입력받는 폼을 하나 만듭니다.
gblist.skin.php 파일입니다.
폼만드실때에 변수 이름은 새롭게 정하셔야합니다.
예) 이름변수 - f_name, 글번호변수 - f_num1 과 f_num2, 등등...

그 다음에 bbs폴더안에 gblist.php파일 수정..

이름과 글번호로 검색한다면....
수정전....
// 검색어가 있다면
if ('' != $stext) {
    $sql_search = get_sql_search($sselect, $stext, $soperator);

    // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
    $sql = " select min(wr_num) from $write_table ";
    $row = sql_fetch($sql);
    $min_section = $row[0];
    if (!$section) {
        $section = $min_section;
    }

    $sql_search .= " and (wr_num between '".$section."' and '".($section+$cfg[search_section])."') ";

    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    $sql = " select distinct wr_parent_id from $write_table where (1) $sql_search ";
    $result = sql_query($sql);
    $total_count = mysql_num_rows($result);
} else {
    $sql_search = "";

    $total_count = $board[bo_total_count];
}

수정후..
// 검색어가 있다면
if ('' != $stext) {
    $sql_search = get_sql_search($sselect, $stext, $soperator);

    // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
    $sql = " select min(wr_num) from $write_table ";
    $row = sql_fetch($sql);
    $min_section = $row[0];
    if (!$section) {
        $section = $min_section;
    }

    $sql_search .= " and (wr_num between '".$section."' and '".($section+$cfg[search_section])."') ";

    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    $sql = " select distinct wr_parent_id from $write_table where (1) $sql_search ";
    $result = sql_query($sql);
    $total_count = mysql_num_rows($result);

} elseif ('' != $f_name || '' != $f_num1 || '' != $f_num2) { //여기부터 추가

    $sql_search =" AND ( ";
    $op = "";
    if ($f_name) {
$sql_search .= $op . " (wr_name = $f_name) ";
$op = " AND ";
    }
    if ($f_num1) {
$sql_search .= $op . " (wr_num >= $f_num1) ";
$op = " AND ";
    }
    if ($f_num2) {
$sql_search .= $op . " (wr_num <= $f_num2) ";
    }

    $sql_search .= " ) ";
    $sql = " select min(wr_num) from $write_table ";
    $row = sql_fetch($sql);
    $min_section = $row[0];
    if (!$section) {
        $section = $min_section;
    }

    $sql_search .= " and (wr_num between '".$section."' and '".($section+$cfg[search_section])."') ";

    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    $sql = " select distinct wr_parent_id from $write_table where (1) $sql_search ";
    $result = sql_query($sql);
    $total_count = mysql_num_rows($result);

// 여기까지 추가...

} else {
    $sql_search = "";

    $total_count = $board[bo_total_count];
}

위와같이 if ~ else 중간에 elseif 추가.....
저는 원래 그누보드에 있는 검색 방법도 필요했기때문에 단순히 추가만 했습니다.
필요없으실땐 원본파일 if 대신에 수정된곳의 elseif 내용이 들어가면 되겠지요.. ^^

마지막으로 그누폴더에 index.php파일 수정..

수정전
// QUERY_STRING
$qstr = '';
if (isset($bo_table))  $qstr .= 'bo_table=' . urlencode($bo_table);
if (isset($sselect))    $qstr .= '&sselect=' . urlencode($sselect);
if (isset($stext))      $qstr .= '&stext=' . urlencode($stext);
if (isset($section))    $qstr .= '§ion=' . urlencode($section);
if (isset($ssort))      $qstr .= '&ssort=' . urlencode($ssort);
if (isset($sorder))    $qstr .= '&sorder=' . urlencode($sorder);
if (isset($soperator))  $qstr .= '&soperator=' . urlencode($soperator);

이부분에 검색하고자하는 필드들의 변수 추가...
수정후

// QUERY_STRING
$qstr = '';
if (isset($bo_table))  $qstr .= 'bo_table=' . urlencode($bo_table);
if (isset($sselect))    $qstr .= '&sselect=' . urlencode($sselect);
if (isset($stext))      $qstr .= '&stext=' . urlencode($stext);

if (isset($f_name))      $qstr .= '&f_name=' . urlencode($f_name);
if (isset($f_num1))      $qstr .= '&f_num1=' . urlencode($f_num1);
if (isset($f_num2))      $qstr .= '&f_num2=' . urlencode($f_num2);

if (isset($section))    $qstr .= '§ion=' . urlencode($section);
if (isset($ssort))      $qstr .= '&ssort=' . urlencode($ssort);
if (isset($sorder))    $qstr .= '&sorder=' . urlencode($sorder);
if (isset($soperator))  $qstr .= '&soperator=' . urlencode($soperator);

대충 이렇습니다...
혹시 제 팁이 도움이 되신분이 있다면 새해부터 굉장히 기쁜일이고요...
항상 도움만 받다가 내가 누구에게 도움을 줄 수있다고 생각하면 기쁜일이네요..ㅎㅎㅎ

그리고 제가 워낙에 글솜씨가 없는 관계로 설명이 많이 모자랍니다.
지니아빠님께서 보충설명해주신다고 하셔서 이렇게 겁없이 올리는 겁니다....ㅎㅎ

또, 지니아빠님, 완두콩님께 다시 한 번 감사의 말씀 전합니다.

즐거운 하루 되시고요...

새해 복 많이 받으세요...

항상 많은 고수님들의 팁으로 먹고사는 놈이 인사 올립니다.. 꾸벅~
추천
0
  • 복사

댓글 전체

© SIRSOFT
현재 페이지 제일 처음으로