r

기간제 인기게시물 날짜 지날시

 
 
기간제 인기게시물 날짜가 지난 경우에는 아무내용도 출력이 되지 않던데요
지정한 날짜가 지난 경우에는 조회수 많은 되로 출력되게
해주려면 어떻게 해주어어야 하나요..
조언부탁드립니다...
|

댓글 1개

제가 쓰는 함수를 알려드리겠습니다. 참고하세요

지정한 날짜가 지난 경우에는 조회수 많은 되로 출력됩니다.
결과 list배열의 값을 알아보고, 없다면 다시 기간을 묻지않고 물어보는겁니다.

그냥 이대로 쓰셔도 될겁니다.

// hitest("스킨명", "", 1, 50, "1"); //오늘 하루 최고 인기게시물
// hitest.lib.php

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

function cmp($a, $b)
{
return $b['wr_hit'] - $a['wr_hit'];
}

// 최신글 추출
function hitest($skin_dir="", $gr_id, $rows=10, $subject_len=40, $listdate)
{
global $g4;
$nowYmd = date(Ymd); # 시작시간을 구합니다.
$time = time();
$startYmd = date("Ymd",strtotime("-".$listdate." day", $time));

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();

//그룹값 있으면 해당그룹, 없으면 전체그룹
if (!empty($gr_id))
$Bsql = " select * from $g4[board_table] where bo_use_search = '1' and gr_id = '$gr_id' ";
else
$Bsql = " select * from $g4[board_table] where bo_use_search = '1' ";

$Bresult = sql_query($Bsql);

while ($board = mysql_fetch_array($Bresult)) {
$tmp_write_table = $g4['write_prefix'] . $board[bo_table]; // 게시판 테이블 전체이름

if ($listdate)
$sql_common = " and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' ";//특정날짜

$sql_order = " order by wr_hit desc,wr_last desc ";//히트순
$sql = " select * from $tmp_write_table where wr_is_comment = 0
$sql_common
$sql_order
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);

}

//기간내 게시물이 없다면
if(count($list) == 0){
$Bresult = sql_query($Bsql);
while ($board = mysql_fetch_array($Bresult)) {
$tmp_write_table = $g4['write_prefix'] . $board[bo_table]; // 게시판 테이블 전체이름

$sql_order = " order by wr_hit desc,wr_last desc ";//히트순
$sql = " select * from $tmp_write_table where wr_is_comment = 0
$sql_order
limit 0, $rows ";
//echo $sql."<br>";
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++)
$list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);

}
}

usort( $list, 'cmp');
$list= array_slice($list, 0, $rows);

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

return $content;
}
?>
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

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

+
제목 글쓴이 날짜 조회
19년 전 조회 1,512
19년 전 조회 1,512
19년 전 조회 1,375
19년 전 조회 1,509
19년 전 조회 1,617
19년 전 조회 1,439
19년 전 조회 2,057
19년 전 조회 1,698
19년 전 조회 1,573
19년 전 조회 1,222
19년 전 조회 1,048
19년 전 조회 1,426
19년 전 조회 1,196
19년 전 조회 1,598
19년 전 조회 1,139
19년 전 조회 1,508
19년 전 조회 1,403
19년 전 조회 1,702
19년 전 조회 1,514
19년 전 조회 1,136
🐛 버그신고