문의 드립니다..ㅠㅠ

문의 드립니다..ㅠㅠ

QA

문의 드립니다..ㅠㅠ

답변 2

사용하는 빌더

기타

그누보드5(영카트) 버전

5.6.13

본문

현재 그누보드5_이윰 빌드를 사용중인데 최근 네이버 뉴스 api로 가져와서 게시판에 자동으로 글올리는것까지는 성공을 하였는데 그 이후 메인 화면에 최신게시물 보주는 게시판을 추가하였는데 직접 작성한 글은 바로 최신게시물에 반영되어 보여지는데 자동게시물은 게시판에 가면 잘올라갔지만 최신게시판에는 바로 적용이 안되는데 왜 이런걸까요..ㅠ.ㅠ?????

게시판 새로 고침을 하면 반영이 되는데 이걸 매번할수도 없고 답답해서 문의 드립니다.

 


// 게시판 순회
foreach ($academy_keywords as $board_id => $keywords) {
    $board_count = 0;
    $titles = []; // 등록된 제목 리스트
 
    foreach ($keywords as $query) {
        if ($board_count >= $max_per_board) break;
 
        $encQuery = urlencode($query);
        $url = "https://openapi.naver.com/v1/search/news.json?query={$encQuery}&display=5";
 
        $ch = curl_init();
        curl_setopt_array($ch, [
            CURLOPT_URL => $url,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_HTTPHEADER => [
                "X-Naver-Client-Id: {$client_id}",
                "X-Naver-Client-Secret: {$client_secret}"
            ]
        ]);
        $response = curl_exec($ch);
        curl_close($ch);
 
        $news_data = json_decode($response, true);
 
        if (!isset($news_data['items'])) {
            error_log(date('Y-m-d H:i:s') . " 네이버 API 오류 [{$query}]\n", 3, "./logs/error_log.txt");
            continue;
        }
 
        foreach ($news_data['items'] as $item) {
            if ($board_count >= $max_per_board) break;
 
            $title = html_entity_decode(strip_tags($item['title']));
            $description = html_entity_decode(strip_tags($item['description']));
 
            // 중복 확인
            $exists = sql_fetch("SELECT wr_id FROM {$g5['write_prefix']}{$board_id} WHERE wr_subject='".addslashes($title)."'");
            if ($exists['wr_id']) continue;
 
            $link = $item['link'];
            $og_image = get_og_image($link);
            $ai_summary = get_gpt_summary($description, $openai_key);
 
            $content = "<div><strong>AI 요약:</strong><br>{$ai_summary}</div><br>";
            if ($og_image) $content .= "<img src='{$og_image}' alt='뉴스이미지'><br>";
            $content .= "<p>{$description}</p><br><a href='{$link}' target='_blank'>원본 기사 보기</a>";
 
            sql_query("INSERT INTO {$g5['write_prefix']}{$board_id} SET
                wr_num='".get_next_num($g5['write_prefix'].$board_id)."',
                wr_subject='".addslashes($title)."',
                wr_content='".addslashes($content)."',
                mb_id='{$mb_id}',
                wr_name='{$wr_name}',
                wr_password='{$wr_password}',
                wr_datetime='".G5_TIME_YMDHIS."',
                wr_option='html1',
                wr_ip='{$_SERVER['REMOTE_ADDR']}'
            ");
            $wr_id = sql_insert_id();
            sql_query("UPDATE {$g5['write_prefix']}{$board_id} SET wr_parent='{$wr_id}' WHERE wr_id='{$wr_id}'");
 
            $board_count++;
            $titles[] = $title;
        }
    }
 
    $result_log[$board_id] = [
        'count' => $board_count,
        'titles' => $titles
    ];
}


이쪽인거는 같은데 고수님들 도움 부탁드립니다..ㅠㅠ

이 질문에 댓글 쓰기 :

답변 2

최신글쪽 캐시를 잠시동안 꺼주세요

config.php

 

define('G5_USE_CACHE',  false)

관심갖어 주셔서 감사합니다~환경설정 일괄캐시삭제를 지금 5번을 해도 안되내요.ㅠㅠ왜 뉴스기사를 가져오면 게시판에는 올라가있는데 새글에도 안올가고 메인페이지 최신글에도 바로 적용이안되는지 도무지 모르겠내요..ㅠ_ㅠ 여기서 게시판별 게시판별 출력기간 재조정 최신추출일적용하기하면 바로 새글에도 올라가고 최신글에도 올라가요..ㅠ_ㅠ이걸 매번 할수도없고 답답하내요..ㅠㅠ

// 부모 아이디에 UPDATE
    sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");

    // 새글 INSERT
    sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) ");

    // 게시글 1 증가
    sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");


이것도 해보세요

게시물 넣는 쪽에 게시물 등록 참고 하셔서 새글에도 한번 등록해보시고 그게 아니면 게시물을 캐시로 보여주셔서 그럴수도 있으니 최신글에 캐시를 사용 안하도록 한번 해보세요.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,102
© SIRSOFT
현재 페이지 제일 처음으로