한달이내 최근글 축출과 조회수 정렬에 대해 질문을 드립니다. > 그누4 질문답변

그누4 질문답변

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

한달이내 최근글 축출과 조회수 정렬에 대해 질문을 드립니다. 정보

한달이내 최근글 축출과 조회수 정렬에 대해 질문을 드립니다.

본문

최신글 함수부분을 약간 변형하여 가장많이 읽은 순으로 정렬을 하여 최신글로 보여줄려고 합니다.
아래의 소스를 보시면 hit라는 부분으로 정렬을 합니다.
그런데 최근 한달간에서 조회수로 정렬을 할려면 어떻게 해야 하나요


// 최신글 추출 - hit에 yes라는 값이 넘어오면 가장많이 읽은 순으로 정렬을 한다.
function latest($skin_dir="", $bo_table, $rows=10, $subject_len=40, $hit=""){
    global $config;
    global $g4;

    if ($skin_dir)
        $latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
    else
        $latest_skin_path = "$g4[path]/skin/latest/$config[cf_latest_skin]";

    $list = array();

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

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

if($hit == "yes"){

// 최근 한달간의 글에서 조회수로 정렬을 할려고 하는데 이부분을 어떻게수정해야 하는지 좀 알려주세요 최근한달 기간내의 것으로 쿼리를 하고 그안에서 조회수별 정렬을 해야 하는데 한달의 날짜 기간내 디비값을 불러오는게 감감.... 아직 그누가 약해서... 많은 답변좀 부탁드립니다.
$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_hit desc limit 0, $rows ";

}else{ // 일반적인 가장최근의 글로 정렬 입력 번호순 정렬이됨
$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_id desc 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;
}

댓글 전체

답변은 아니구요.
제 의견입니다.

최신글은 말 그대로 최신글을 알리는 목적이 아닌가요?

글쓴순/제목 가나다순/이름순/날자순/조회순/히트순/추천순 등은 게시판에서
가능하게 함이 어떨런지...
네 최신글의 의미는 바다님 말씀이 맞습니다.
다만, 다음같은 사이트에보면 가장많이 읽은 뉴스같은 것이 최신글 처럼 보이니까
그것을 게시판에 적용해보고 싶어서입니다. 그런데 날짜 한달이내것만 추출해서 보여줄려니 그게 좀.........
최신글의 다양한 접근으로 봐주시길 바랍니다.
sql 쿼리시

SELECT something FROM tbl_name WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;

형식이면 30일 이내의 자료들이 잡힙니다.

위의 최신글 보기에는

$sql = " select * from $tmp_write_table where wr_is_comment = 0 and date_sub(curdate(), interval 30 day) <= wr_datetime order by wr_hit desc limit 0, $rows ";

으로 수정해 주시면 될 것 같네요.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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