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

이번에 업데이트 하는 과정에서 나온 코드입니다.
내가 활동한 전체 게시판의 게시글 내역수 + 댓글 내역수를 출력하고자 하는 데 목적이 있습니다.
원하는 페이지에 코드를 넣으시면 끝입니다.
[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]
전체 다 가져오는 코드 / 제외 코드 (주석) 포함하였으니 참고하셔서 사용하시면 될 것 같습니다.
위 코드를 그대로 원하는 페이지에 넣으시면 아래 처럼 결과를 얻을 수 있으며, 원하는데로 스타일링 해서 사용하시면 됩니다.

고맙습니다.
댓글 3개
감사합니다 ^^
감사합니다
감사합니다.
게시판 목록
그누보드5 팁자료실
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 공지 | 3년 전 | 4402 | ||
| 24 | 12년 전 | 7368 | ||
| 23 | 12년 전 | 5223 | ||
| 22 |
JMoon
|
12년 전 | 6243 | |
| 21 |
오늘도망했다
|
12년 전 | 13477 | |
| 20 | 12년 전 | 4319 | ||
| 19 | 12년 전 | 8044 | ||
| 18 | 12년 전 | 6510 | ||
| 17 | 12년 전 | 5413 | ||
| 16 | 12년 전 | 6130 | ||
| 15 | 12년 전 | 5611 | ||
| 14 | 12년 전 | 9228 | ||
| 13 | 12년 전 | 8197 | ||
| 12 | 12년 전 | 4948 | ||
| 11 | 12년 전 | 7265 | ||
| 10 |
|
12년 전 | 8958 | |
| 9 | 12년 전 | 7552 | ||
| 8 | 12년 전 | 8128 | ||
| 7 | 12년 전 | 7325 | ||
| 6 | 12년 전 | 7453 | ||
| 5 | 12년 전 | 7373 | ||
| 4 | 12년 전 | 7462 | ||
| 3 | 12년 전 | 6952 | ||
| 2 | 12년 전 | 5799 | ||
| 1 | 12년 전 | 12120 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기