멀티최신글에서 시간을 넣어서 뽑으려면 어떻게 해야 될까요? 정보
멀티최신글에서 시간을 넣어서 뽑으려면 어떻게 해야 될까요?
본문
컴맹이라서 질문드립니다. ^^;
글 등록 일자가 뭐 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일 사이에서만 뽑으려면 어떻게 해야 할까요?
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 ";
$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 ";

감사합니다. ^^ 이것 때문에 2시간동안 고생했는데, 한방에 해결되네요. ㅎ
휴일 잘 보내세요. ^^
휴일 잘 보내세요. ^^
감사합니다...^^