기간제 인기게시물 날짜 지날시 > 그누4 질문답변

그누4 질문답변

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

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

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

본문

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

댓글 전체

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

지정한 날짜가 지난 경우에는 조회수 많은 되로 출력됩니다.
결과 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;
}
?>
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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