최신글에 기간설정이 잘 안되어서 질문드립니다

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
최신글에 기간설정이 잘 안되어서 질문드립니다

QA

최신글에 기간설정이 잘 안되어서 질문드립니다

본문

최신글 가져오는데 기간설정이 안되어서 질문드립니다.

 

latest.skin.php 파일에서 야간변형하여

아래처럼

게시판 여분필드 6 에 입력이 되어있는 글만 최신글로 뽑아오는 형식으로 잘 쓰고 있습니다.

 

 <?php
        for ($i=0; $i<count($list); $i++) {


if($list[$i]['wr_6']) {
 $thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height, false, true);

        if($thumb['src']) {
            $img = $thumb['src'];
        } else {
            $img = $latest_skin_url.'/img/noimg.png';
            $thumb['alt'] = '등록된 이미지가 없습니다.';
        }
        //$img_content = '<img src="'.$img.'" alt="'.$thumb['alt'].'" >';
        $img_content = $img;
        ?>
 

 

그런데 

 

 

3718387119_1729495922.3109.png

 

위에처럼 게시판 설정에서 최근게시물삭제를 3000일로 지정하였는데도

30일까지만 적용됩니다.

 

<?php echo latest('swiper_card', 'jejudomap', 20, 50); ?>

처럼 출력을 시켰습니다.

 

다른데 수정해야 하는곳이 있을까요?

 

 

 

 

이 질문에 댓글 쓰기 :

답변 2

A 게시판, B 게시판이 있을 때..
A 게시판의 글/댓글 데이터는 g5_write_A 테이블에 쌓입니다.
B 게시판의 글/댓글 데이터는 g5_write_B 테이블에 쌓입니다.

최신글 테이블은 g5_board_new 테이블입니다.
최시글 기간 설정이 10일인 경우,
-> 설정시점을 기준으로..
그 때 부터..
g5_board_new 테이블에는 모든 게시판의 10일간의 데이터를 유지합니다.

10일 -> 5일로 줄이는 경우에는 기대한 작동이 됩니다.
g5_board_new 테이블에는 모든 게시판의 10일간의 데이터 유지 상태에서,
6 ~ 10일 데이터를 삭제합니다.
10일 -> 100일로 늘리는 경우에는 기대한 작동이 되지 않습니다.
g5_board_new 테이블에는 모든 게시판의 10일간의 데이터 유지 상태에서,
설정일 늘릴 시,

11~100일의 데이터를 자동으로 채우지 않습니다. (그누보드에는 해당 코드가 없습니다.)
설정이후 90일이 지나면.. 해당 시점 기준 100일간의 데이터가 쌓이기는 합니다. (현 글 의도에서 기대한 부분은 아닐것입니다.)

설정일을 늘리는 경우 수동으로 g5_board_new 데이테를 채우는 작업을 별도로 해주어야 됩니다.
https://sir.kr/g5_skin/41531

https://sir.kr/g5_plugin/4564

어드민에 캡쳐에 있는 최신게시물은  g5_board_new에 쌓이는 디비들 보관기관일거고 ( 저같은 경우 삭제 안하고 저 db를 통해 내글 내댓글 메뉴 디비로 씁니다)..근데 디비가 많이 쌓이면 슬로우 쿼리의 주된 테이블중 하나이기도 합니다 ㅋㅋ

 

소스로 올려주신 부분은 latest skin의 소스같은데 둘의 연관성은 없습니다. 소스로 올려주신 부분은 lib폴더의 latest.lib.php  소스에서 기간 관련 소스를 추가 수정 하시면 가능합니다.

0으로 설정하면 안지워지죠..
bbs/db_table.optimize.php인가에 보시면


// 설정일이 지난 최근게시물 삭제
if($config['cf_new_del'] > 0) {
    $sql = " delete from {$g5['board_new_table']} where (TO_DAYS('".G5_TIME_YMDHIS."') - TO_DAYS(bn_datetime)) > '{$config['cf_new_del']}' ";
    sql_query($sql);
    sql_query(" OPTIMIZE TABLE `{$g5['board_new_table']}` ");
}

이 소스로 지워지는건데 어드민이 하루중 첫번째 접속할때 작동하는 소스이고 0보다 커야하니까 0 설정하심지워지진  않습니다.

if($config['cf_new_del'] > 0) {
    $sql = " delete from {$g5['board_new_table']} where (TO_DAYS('".G5_TIME_YMDHIS."') - TO_DAYS(bn_datetime)) > '{$config['cf_new_del']}' ";
    sql_query($sql);
    sql_query(" OPTIMIZE TABLE `{$g5['board_new_table']}` ");
} else{
sql_query(" OPTIMIZE TABLE `{$g5['board_new_table']}` ");
}

식으로 수정하는것도? 어차피 인서트와 삭제가 빈번한 테이블이니까요..

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

회원로그인

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