그누보드5 최신글 랜덤으로 출력할수 있는 라이브러리 함수 없나요?

그누보드5 최신글 랜덤으로 출력할수 있는 라이브러리 함수 없나요?

QA

그누보드5 최신글 랜덤으로 출력할수 있는 라이브러리 함수 없나요?

본문

새로고침할때마다 순서를 랜덤으로 땡겨와서 다르게 보이고 싶습니다~

 

하단의 소스로 하니 한번 불러오고 나서는 그다음부턴 안바뀌네요

 

고수님들 답변부탁좀 드리겠습니다 ㅎㅎ

 

// 최신글 랜덤 추출

function latest_rand($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="") {

    global $g5;

    //static $css = array();

 

    if (!$skin_dir) $skin_dir = 'basic';

 

    if(G5_IS_MOBILE) {

        $latest_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;

        $latest_skin_url  = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;

    } else {

        $latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir;

        $latest_skin_url  = G5_SKIN_URL.'/latest/'.$skin_dir;

    }

 

    $cache_fwrite = false;

    if(G5_USE_CACHE) {

        $cache_file = G5_DATA_PATH."/cache/latest-{$bo_table}-rand-{$skin_dir}-{$rows}-{$subject_len}.php";

 

        if(!file_exists($cache_file)) {

            $cache_fwrite = true;

        } else {

            if($cache_time > 0) {

                $filetime = filemtime($cache_file);

                if($filetime && $filetime < (G5_SERVER_TIME - 3600 * $cache_time)) {

                    @unlink($cache_file);

                    $cache_fwrite = true;

                }

            }

 

            if(!$cache_fwrite)

                include_once($cache_file);

        }

    }

 

    if(!G5_USE_CACHE || $cache_fwrite) {

        $list = array();

 

        $sql = " select * from {$g5['board_table']} where bo_table = '{$bo_table}' ";

        $board = sql_fetch($sql);

        $bo_subject = get_text($board['bo_subject']);

 

        $tmp_write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블 전체이름

        $sql = " select * from {$tmp_write_table} where wr_is_comment = 0 order by rand() desc limit 0, {$rows} ";

        $result = sql_query($sql);

        for ($i=0; $row = sql_fetch_array($result); $i++) {

            $list[$i] = get_list($row, $board, $latest_skin_url, $subject_len);

        }

 

        if($cache_fwrite) {

            $handle = fopen($cache_file, 'w');

            $cache_content = "<?php\nif (!defined('_GNUBOARD_')) exit;\n\$bo_subject=\"".$bo_subject."\";\n\$list=".var_export($list, true)."?>";

            fwrite($handle, $cache_content);

            fclose($handle);

        }

    }

 

    /*

    // 같은 스킨은 .css 를 한번만 호출한다.

    if (!in_array($skin_dir, $css) && is_file($latest_skin_path.'/style.css')) {

        echo '<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">';

        $css[] = $skin_dir;

    }

    */

 

    ob_start();

    include $latest_skin_path.'/latest.skin.php';

    $content = ob_get_contents();

    ob_end_clean();

 

    return $content;

이 질문에 댓글 쓰기 :

답변 1

캐시 기능 때문에 그럴 수 있습니다.

config.php 에서 캐시를 끄고 확인해보세요. (false로 설정)

define('G5_USE_CACHE',  false); // 최신글등에 cache 기능 사용 여부

답변을 작성하시기 전에 로그인 해주세요.
전체 17
QA 내용 검색

회원로그인

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