최근게시물(latest)도 검색에 포함하려면? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

최근게시물(latest)도 검색에 포함하려면? 정보

최근게시물(latest)도 검색에 포함하려면?

본문

list.skin.php 파일위에 최근게시물(latest)을 불러서 사용하고 있습니다.

bo_table=oneroom&sca=검색어

위에처럼 주소에 검색어를 넣으면, list.skin.php쪽에는 검색이 가능해요.

그런데 최근게시물로 불러온쪽에는 검색이 안되요.
검색 영향을 전혀 안받는 것 같아요.
어떻게 하면, list쪽 처럼 최근게시물(latest)도 검색이 될까요?
  • 복사

댓글 전체

latest 를 불러오는 latest 함수에선 where 절을 따로 가져오지 않기 때문에 검색이 안될겁니다. :) ㅎㅎ

lib / latest.lib.php 파일 로드

▼ 아래 소스 추가

// 최신글 추출
function latest2($skin_dir="", $bo_table, $rows=10, $subject_len=40, $sca="", $sfl = "", $stx="" )
{
    global $g4;

    if ($skin_dir)
        $GLOBALS['latest_skin_path'] = $latest_skin_path = "{$g4['path']}/skin/latest/$skin_dir";
    else
        $GLOBALS['latest_skin_path'] = $latest_skin_path = "{$g4['path']}/skin/latest/basic";

    $list = array();
    $sql_search = "";

    $sql = " select * from {$g4['board_table']} where bo_table = '$bo_table'";
    $board = sql_fetch($sql);

    $tmp_write_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름]

    if ($sca || $stx)
  {
          $sql_search = get_sql_search($sca, $sfl, $stx);
  }

    $sql = " select * from $tmp_write_table where wr_is_comment = 0 and $sql_search order by wr_num limit 0, $rows ";
    //explain($sql);
    $result = sql_query($sql);
    for ($i=0; $row = sql_fetch_array($result); $i++) {
        $list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);
    }

    ob_start();
    include "$latest_skin_path/latest.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}


▼ list.skin.php 에서 최근 게시물 불러올 시

latest2('스킨명', 'bo_table', 출력라인, 제목길이, 검색할카테고리, 검색할 필드명, 검색할 키워드)



이렇게 호출 하면 될겁니다. . 음 아마도?
답변 감사드려요~ ㅎ
현님 카테고리를 전체로 하였을때

select * from g4_write_oneroom where wr_is_comment = 0 and order by wr_num limit 0, 8

1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order by wr_num limit 0, 8' at line 1

error file : /bbs/board.php

이렇게 오류가 나오는데, 이 문제도 해결할 수 있을까요?
lib을 아래와 같이 하여 본 문제를 해결하였습니다.
같은 문제 있으신 분들 참고하세요. :)



// 최신글 추출
function latest2($skin_dir="", $bo_table, $rows=10, $subject_len=40, $sca="", $sfl = "", $stx="" )
{
    global $g4;

    if ($skin_dir)
        $GLOBALS['latest_skin_path'] = $latest_skin_path = "{$g4['path']}/skin/latest/$skin_dir";
    else
        $GLOBALS['latest_skin_path'] = $latest_skin_path = "{$g4['path']}/skin/latest/basic";

    $list = array();
    $sql_search = "";

    $sql = " select * from {$g4['board_table']} where bo_table = '$bo_table'";
    $board = sql_fetch($sql);

    $tmp_write_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름]

  if ($sca || $stx)
  {
          $sql_search = get_sql_search($sca, $sfl, $stx);
          $sql_search = "and ".$sql_search;
  }

    $sql = " select * from $tmp_write_table where wr_is_comment = 0 $sql_search order by wr_num limit 0, $rows ";

    $result = sql_query($sql);
    for ($i=0; $row = sql_fetch_array($result); $i++) {
        $list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);
    }

    ob_start();
    include "$latest_skin_path/latest.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}
© SIRSOFT
현재 페이지 제일 처음으로