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

컴맹이라서 질문드립니다. ^^;
글 등록 일자가 뭐 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;
}
?>
|

댓글 3개

예) 오늘부터 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 ";
감사합니다. ^^ 이것 때문에 2시간동안 고생했는데, 한방에 해결되네요. ㅎ
휴일 잘 보내세요. ^^
감사합니다...^^
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

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

+
제목 글쓴이 날짜 조회
20년 전 조회 1,506
20년 전 조회 1,516
20년 전 조회 1,431
20년 전 조회 1,573
20년 전 조회 1,865
20년 전 조회 1,636
20년 전 조회 1,516
20년 전 조회 1,512
20년 전 조회 1,536
20년 전 조회 1,639
20년 전 조회 1,443
20년 전 조회 1,559
20년 전 조회 1,453
20년 전 조회 2,030
20년 전 조회 1,599
20년 전 조회 1,523
20년 전 조회 1,659
20년 전 조회 2,526
20년 전 조회 1,226
20년 전 조회 1,520
🐛 버그신고