전체 게시판에서 내가 작성한 게시글 / 댓글 개수 가져오기

· 2024-04-24 (수) 14:43:23 · 3091 · 3

978180634_1713937124.8766.png

 

이번에 업데이트 하는 과정에서 나온 코드입니다.

 

내가 활동한 전체 게시판의 게시글 내역수 + 댓글 내역수를 출력하고자 하는 데 목적이 있습니다.

 

원하는 페이지에 코드를 넣으시면 끝입니다.

 

[code]

 

<?php

 

function getUserBoardActivity(array $exclude_boards = []) {

    global $member;  // 회원 정보를 가져옵니다.

    // 배열을 SQL 쿼리에서 사용할 수 있는 문자열로 변환

    $exclude_clause = '';

    if (!empty($exclude_boards)) {

        $exclude_boards_string = "'" . implode("', '", $exclude_boards) . "'";

        $exclude_clause = " WHERE `bo_table` NOT IN ({$exclude_boards_string})";

    }

 

    // 제외할 게시판을 제외한 모든 게시판 정보를 가져옵니다.

    $sql = "SELECT * FROM `g5_board`" . $exclude_clause;

    $result = sql_query($sql); // 쿼리 실행

    $all_boards_info = [];  // 모든 게시판 정보를 저장할 배열

 

    while ($board = sql_fetch_array($result)) {

        $bo_table = $board['bo_table'];  // 게시판 테이블명을 가져옵니다.

        $bo_subject = $board['bo_subject'];  // 게시판 제목을 가져옵니다.

 

        // 해당 게시판에서 회원의 게시글 수를 구하는 쿼리

        $query = "SELECT COUNT(*) AS count FROM g5_write_{$bo_table} WHERE mb_id = '{$member['mb_id']}' AND wr_is_comment = '0'";

        $write_count_result = sql_query($query);

        $write_count = sql_fetch_array($write_count_result)['count'];

 

        // 해당 게시판에서 회원의 댓글 수를 구하는 쿼리

        $query2 = "SELECT COUNT(*) AS count FROM g5_write_{$bo_table} WHERE mb_id = '{$member['mb_id']}' AND wr_is_comment = '1'";

        $comment_count_result = sql_query($query2);

        $comment_count = sql_fetch_array($comment_count_result)['count'];

 

        // 각 게시판 정보를 배열에 저장

        $all_boards_info[] = array(

            'bo_subject' => $bo_subject,

            'total_write_count' => $write_count,

            'total_comment_count' => $comment_count

        );

    }

    return $all_boards_info;  // 모든 게시판 정보를 배열로 반환

}

// $results = getUserBoardActivity(["free", "notice"]); // 자유게시판 및 공지사항 게시판을 제외한 모든 게시판 정보를 가져옵니다.

$results = getUserBoardActivity(); // 전체 게시판 정보를 가져 옵니다.

foreach ($results as $result) {

    echo "게시판: " . $result['bo_subject'] . "<br>";

    echo "작성한 게시글 수: " . $result['total_write_count'] . "<br>";

    echo "작성한 댓글 수: " . $result['total_comment_count'] . "<br>";

}

?>

[/code]

 

전체 다 가져오는 코드 / 제외 코드 (주석) 포함하였으니 참고하셔서 사용하시면 될 것 같습니다.

 

위 코드를 그대로 원하는 페이지에 넣으시면 아래 처럼 결과를 얻을 수 있으며, 원하는데로 스타일링 해서 사용하시면 됩니다.

 

978180634_1713937325.1461.png

 

고맙습니다.

|

댓글 3개

2024-04-28 (일) 11:04:34

감사합니다 ^^

감사합니다

감사합니다.

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

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
24-05-07 조회 3,284
24-05-05 조회 3,549
24-05-04 조회 3,094
24-05-04 조회 2,939
24-05-03 조회 3,071
24-05-02 조회 3,210
24-04-30 조회 3,128
24-04-29 조회 4,150
24-04-29 조회 2,894
24-04-27 조회 4,104
24-04-24 조회 2,973
24-04-24 조회 3,092
24-04-24 조회 2,728
24-04-21 조회 3,145
24-04-19 조회 3,080
24-04-17 조회 2,772
24-04-17 조회 3,457
24-04-15 조회 3,914
24-04-10 조회 2,769
24-04-09 조회 3,578
24-04-08 조회 3,144
24-04-08 조회 3,016
24-04-08 조회 2,755
24-04-05 조회 4,239
24-04-04 조회 3,002
24-04-02 조회 2,949
24-03-31 조회 4,000
24-03-31 조회 2,985
24-03-29 조회 3,246
24-03-27 조회 3,758