특정 게시판이 아닌 전체 게시판 채택완료

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

// 최신글 추출
function latest_hit($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="")
{
    global $g5;

    if ($skin_dir)
        $latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir;
    else
        $latest_skin_path = G5_SKIN_URL.'/latest/basic';

    $list = array();

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

    $tmp_write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
    //$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_id desc limit 0, $rows ";
    // 위의 코드 보다 속도가 빠름
    $sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_hit 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;
}
?>

조회수가 높은 글을 찾아 순서대로 가져오는 건데

사용법은

<?php echo latest_hit("스킨명", "게시판테이블명", '불러올갯수', '글자수'); ?>

입니다.

특정 게시판 테이블명이 아닌 전체 게시판을 대상으로 불러오려면

어떻게 수정해야 할까요?

답변 2개

채택된 답변
+20 포인트

아래의 링크를 참고하세요.

https://sir.kr/g5_skin/6828

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

아무리 봐도 어디에 뭘 고쳐야 될 지 모르겠어요..

댓글을 작성하려면 로그인이 필요합니다.

게시판 테이블명에

$row['bo_table']

를 입력해보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

<?php echo latest_hit("hit", $row['bo_table'], '9', '12'); ?>
게시물이 없다고 뜨네요 ㅠ
https://sir.kr/g5_skin/5952

이 스킨인가요?
‘스킨명’ 부분에는 skin/latest/ 에 있는 스킨 폴더 이름을 입력해야 합니다.
아니욥

https://sir.kr/g5_skin/11762?sfl=wr_subject%7C%7Cwr_content&stx=hit
이 스킨입니다.

게시물이 없다고 뜨는 건 이미 스킨이 적용되었다는 뜻이겠죠..
추가 답변 부탁드리겠습니다;;
이 방법은 모든 게시판을 이런 방식으로 띄웁니다.
원본 index.php 파일의 최신글 소스에 적용하면 됩니다.

하나의 박스에 모든 최신글을 모으는 작업이라면 다른 방법을 찾아봐야겠습니다.
아래 주소에 단서가 보이는데... 적용이 가능한지는 검토해봐야겠네요.

https://sir.kr/g5_plugin/130

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고