멀티최신글에서 시간을 넣어서 뽑으려면 어떻게 해야 될까요? > 그누4 질문답변

그누4 질문답변

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

멀티최신글에서 시간을 넣어서 뽑으려면 어떻게 해야 될까요? 정보

멀티최신글에서 시간을 넣어서 뽑으려면 어떻게 해야 될까요?

본문

컴맹이라서 질문드립니다. ^^;
글 등록 일자가 뭐 7일 사이에서만 뽑으려면 어떻게 해야 할까요?

latest.lib.php

<?
if (!defined('_GNUBOARD_')) exit;

// 최신글 추출
function latest($skin_dir="", $bo_table, $rows=10, $subject_len=40, $brch="", $options="")
{
    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 ($brch == "H")          // 넘어온 값이 "H" 즉 hit 일때
    $brch = "wr_hit";      // hit 순으로 쿼리
elseif ($brch == "C")      // 넘어온 값이 "C" 즉 comment 일때
    $brch ="wr_comment"; // comment 순으로 쿼리
elseif ($brch == "R")        //넘온값이 "R" 즉 random 일때
    $brch = "rand()";            // 랜덤 쿼리
elseif ($brch == "G")        //넘온값이 "G" 즉 추천 일때
    $brch = "wr_good";            // 추천 쿼리
elseif ($brch == "N")        //넘온값이 "N" 즉 비추천 일때
    $brch = "wr_nogood";            // 비추천 쿼리
elseif ($brch == "B")        //넘온값이 "B" 즉 기본 최신글 일때
    $brch = "wr_id";            // 기본 최신글 쿼리
else                                  // 넘어온값이 없거나 그이외 일때
    $brch = "wr_id";        // 걍 최근순으로 쿼리

    $sql = " select * from $tmp_write_table where wr_is_comment = 0 order by $brch desc 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;
}
?>

댓글 전체

예) 오늘부터 7일 이전까지

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


$sql = "
select * from $tmp_write_table where wr_is_comment = 0
and wr_datetime between date_sub(now(), interval 7 day) and now()
order by $brch desc limit 0, $rows ";

* 서버의 mysql 버젼이 4.x 미만(3.x)이라면 위에 interval 7 day 를 interval 7 days 로 바꿔 주십시오.
* 위 예제는 분,초까지 포함하여 현재시간부터 정확히 7일 이전까지입니다.
만약 날짜만 적용하고 싶다면 날짜로 바꿔주십시오.

$sql = "
select * from $tmp_write_table where wr_is_comment = 0
and left(wr_datetime,10)='$g4[time_ymd]' and left(wr_datetime,10)='".date("Y-m-d", strtotime("$g4[time_ymd] -7 day"))."'
order by $brch desc limit 0, $rows ";
전체 136 |RSS
그누4 질문답변 내용 검색

회원로그인

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