ai 가 작성한 코드가 아무 반응이 없네요~~

ai 가 작성한 코드가 아무 반응이 없네요~~

QA

ai 가 작성한 코드가 아무 반응이 없네요~~

본문

어제 첨으로 ai가 코드 작성하는 것을 해보고 신기해서 이것 저것 ai에게 시켜보는데 기본 실력이 부족하여 별 도움을 얻지 못하고 있습니다.. 아래도 함 추출해보려고 ai에게 질문했더니 아래 코드를 index.php 적당한 위치에 삽입하라고 하는데 코드를 넣고 새로 고침해도 별 반응이 없네요

아래는 ai 작성한 조회수 최대인 게시글 추출하는 코드인데 오류 메세지도 없고 글도 추출 안되네요 


<?php
// 조회수가 가장 높은 글 추출
$sql = " SELECT b.bo_table, b.bo_subject, wr.wr_id, wr.wr_subject, wr.wr_hit, wr.wr_datetime
FROM {$g5['board_table']} AS b
LEFT JOIN (
SELECT bo_table, wr_id, wr_subject, wr_hit, wr_datetime,
ROW_NUMBER() OVER (PARTITION BY bo_table ORDER BY wr_hit DESC) AS rn
FROM {$g5['write_prefix']}all
) AS wr ON b.bo_table = wr.bo_table
WHERE wr.rn = 1 AND b.bo_use_search = 1
ORDER BY wr.wr_hit DESC
LIMIT 1 ";
 
$result = sql_query($sql);
$row = sql_fetch_array($result);
 
if ($row) {
// 결과가 있을 경우 출력
$board_url = short_url_clean(G5_BBS_URL.'/board.php?bo_table='.$row['bo_table']);
$write_url = short_url_clean(G5_BBS_URL.'/board.php?bo_table='.$row['bo_table'].'&wr_id='.$row['wr_id']);
$datetime = substr($row['wr_datetime'], 2, 8);
?>
<div class="most-viewed-post">
<h3>가장 많이 본 글</h3>
<p>
<a href="<?php echo $write_url; ?>"><?php echo get_text(cut_str($row['wr_subject'], 40)); ?></a>
<span class="bo_name">[<a href="<?php echo $board_url; ?>"><?php echo $row['bo_subject']; ?></a>]</span>
<span class="hit">조회수: <?php echo number_format($row['wr_hit']); ?></span>
<span class="datetime"><?php echo $datetime; ?></span>
</p>
</div>
<?php
}
?>

이 질문에 댓글 쓰기 :

답변 2

그누보드에서는 전체 게시판 테이블이 없습니다.
게시판마다 테이블이 별도입니다.
최신글 테이블에는 전체 게시판 데이터가 있긴 한데.. (전체 게시판 테이블 대용으로 활용 가능)

'조회수' 정보가 없습니다. (조회수가 필요한 경우에는 활용하기 어렵습니다.)
가장 근사치의 방법으로 다음의 코드를 생각해 볼 수 있습니다.
현재 기준, 그누보드를 가장 잘 이해하고 있는 AI 는 '클로드' ( https://claude.ai ) 입니다.


<?php
// 1달 전 날짜 계산
$one_month_ago = date('Y-m-d H:i:s', strtotime('-1 month'));
// 게시판 목록 가져오기
$board_list = sql_query("SELECT bo_table FROM {$g5['board_table']} WHERE bo_use_search = 1");
$posts = array();
// 각 게시판에서 조회수 높은 글 가져오기
while ($board = sql_fetch_array($board_list)) {
    $bo_table = $board['bo_table'];
    $sql = "SELECT wr_id, wr_subject, wr_hit, wr_datetime, '$bo_table' AS bo_table
            FROM {$g5['write_prefix']}{$bo_table}
            WHERE wr_is_comment = 0
              AND wr_datetime > '$one_month_ago'
            ORDER BY wr_hit DESC
            LIMIT 100";
    
    $result = sql_query($sql);
    while ($row = sql_fetch_array($result)) {
        $posts[] = $row;
    }
}
// 조회수 기준으로 정렬
usort($posts, function($a, $b) {
    return $b['wr_hit'] - $a['wr_hit'];
});
// 상위 10개만 선택
$top_posts = array_slice($posts, 0, 10);
// 결과 출력
if (count($top_posts) > 0) {
    ?>
    <div class="most-viewed-posts">
        <h3>최근 1개월 조회수 TOP 10</h3>
        <?php
        foreach ($top_posts as $row) {
            $bo_table = $row['bo_table'];
            $board_url = get_pretty_url($bo_table);
            $write_url = get_pretty_url($bo_table, $row['wr_id']);
            $datetime = substr($row['wr_datetime'], 2, 8);
            
            // 게시판 이름 가져오기
            $board_info = sql_fetch("SELECT bo_subject FROM {$g5['board_table']} WHERE bo_table = '{$bo_table}'");
            $bo_subject = $board_info['bo_subject'];
            ?>
            <p>
                <a href="<?php echo $write_url; ?>"><?php echo get_text(cut_str($row['wr_subject'], 40)); ?></a>
                <span class="bo_name">[<a href="<?php echo $board_url; ?>"><?php echo $bo_subject; ?></a>]</span>
                <span class="hit">조회수: <?php echo number_format($row['wr_hit']); ?></span>
                <span class="datetime"><?php echo $datetime; ?></span>
            </p>
            <?php
        }
        ?>
    </div>
    <?php
}
?>

두 분 모두 감사합니다~~ 채택은 한분만 할 수 있어서 한분만 했네요~~ 모두 잘 되고 있습니다

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

회원로그인

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