2026, 새로운 도약을 시작합니다.

전체 게시판 현황 (재등록)

1938326901_1727767775.2532.png

며칠전에 한번 올렸던건데, 아쉬움이 있어서 지우고 다시 올립니다.

레벨 10 게시판을 숨기고 펼치고하게 했었는데, 레벨 10 토글이 무슨 의미가 있나 싶어서,

회원별로 목록보기 가능한 게시판만 나오게 수정했습니다.

그리고 그때 미처 생각 못했는데,

댓글에 들레아빠님이 보여주셨던 새글 갯수 출력도 필요한 부분이라, 흉내내서 추가했습니다.

아래는 수정된 부분입니다.

우선 새글은 당일 올라온 글 수를 계산해서 나오게 했습니다.

(생각해보니 당일 글은 계속 새글로 나오게 되어 있습니다. 새글이라기 보다는 당일 올라온 글이 맞겠네요.

그누보드나 들레아빠님은 어떤 방식인지 몰라서....)

게시판 목록은 로그인된 회원레벨과 게시판 설정의 목록보기 권한 레벨을 비교해서 참인 경우만 출력되게 했습니다.

각 게시판의 글읽기 권한 레벨2 이상은 레벨표시를 했습니다.

정렬순서 변경 및 제외할 게시판을 지정할 수 있습니다.

아래 소스를 원하는 곳에 넣어서 사용하시면 됩니다.
페이지를 따로 만들어서 include로 불러와도 되고요.

제 홈페이지 소스를 대충 수정해서 가져온거라 디자인은 직접 수정해서 사용하시면 됩니다.


----------------------------------


<?php
$kkk[7] = "137,178,255";  //테이블 컬러 지정
?>

<?php

// 회원의 레벨이 게시판의 목록보기 권한보다 높거나 같을 때만 게시판 표시 (글 읽기 권한 별개)
//include_once('./common.php');

// 자정을 기준으로 새글 카운트하기 위한 변수
$intime = date("Y-m-d 00:00:00");

// 전체 게시판 목록 가져오기
$sql = "SELECT bo_table, bo_subject, bo_read_level, bo_list_level FROM {$g5['board_table']}";
$result = sql_query($sql);

$board_list = []; // 모든 게시판을 저장할 배열
$total_posts = $total_new_posts = 0; // 전체 게시물 및 새글 합계

while ($row = sql_fetch_array($result)) {
    $bo_table = $row['bo_table'];
    $bo_subject = $row['bo_subject'];
    $bo_read_level = $row['bo_read_level']; // 목록 읽기 레벨 
    $bo_list_level = $row['bo_list_level']; // 목록 보기 레벨 

// $kkk[37]에 지정된 게시판은 숨김 (게시판 아이디 입력)
$kkk[37] = "A게시판,B게시판,C게시판,,,";
 if (in_array($bo_table, explode(',', $kkk[37]))) {continue;}


    // 회원의 레벨이 게시판의 목록보기 권한보다 높거나 같을 때만 게시판 표시
    if ($member['mb_level'] >= $bo_list_level) {
        // 각 게시판별 글 등록 수 가져오기 (댓글 제외)
        $count_result = sql_fetch("SELECT COUNT(*) AS cnt FROM {$g5['write_prefix']}{$bo_table} WHERE wr_is_comment = 0");
        
        // 새글 갯수 구하기 (오늘 자정 기준, 댓글 제외)
        $new_count_result = sql_fetch("
            SELECT COUNT(*) AS new_cnt
            FROM {$g5['board_new_table']} AS bn
            JOIN {$g5['write_prefix']}{$bo_table} AS wr ON bn.wr_id = wr.wr_id
            WHERE bn.bn_datetime >= '$intime' AND bn.bo_table = '{$bo_table}' AND wr.wr_is_comment = 0");
        
        $board_list[] = [
            'bo_table' => $bo_table,
            'bo_subject' => $bo_subject,
            'bo_read_level' => $bo_read_level,
            'bo_list_level' => $bo_list_level,
            'count' => $count_result['cnt'],
            'new_count' => $new_count_result['new_cnt']
        ];
        
        $total_posts += $count_result['cnt'];
        $total_new_posts += $new_count_result['new_cnt'];
    }
}

// 목록 정렬 순서 (셋중 하나 선택 나머지는 주석,모두 주석처리하면 DB등록순서)
usort($board_list, function($a, $b) {
//    return $b['bo_read_level'] - $a['bo_read_level']; // 글읽기 권한 레벨이 높은순
//   return $a['bo_read_level'] - $b['bo_read_level']; //글읽기 권한 레벨이 낮은순
   return strcasecmp($a['bo_subject'], $b['bo_subject']); //가나다순
});

$total_boards = count($board_list);

?>

<style>
    .custom-table { width: 100%; border-collapse: collapse; font-size: 12px; line-height: 1.2; text-align: left; }
    .custom-table thead { background-color: rgba(<?=$kkk[7]; ?>,0.1); }
    .custom-table th { padding: 8px; border: 1px solid #ddd; background-color: #4CAF50; color: white; }
    .custom-table td { padding: 8px; border: none; }
    .custom-table tbody tr:nth-child(even) { background-color: rgba(<?=$kkk[7]; ?>, 0.1); }
    .custom-table tbody tr:hover { background-color: rgba(<?=$kkk[7]; ?>, 0.3); }
    .newposts { color: red; }
</style>

<div style="width:100%;border:1px solid rgba(<?php echo $kkk[7];?>);">
 <div  style="padding:8px;border-bottom:1px solid rgba(<?php echo $kkk[7];?>);background-color:rgba(<?php echo $kkk[7];?>, 0.4);">
  <a href="/adm/board_list.php"><b>전체 게시판 : <?= $total_boards ?></b></a>
     <strong id="totalPosts" style="float:right;"><span class="newposts"><?= $total_new_posts ?></span> / <?= $total_posts ?></strong>
</div>

<!-- 게시판 목록 -->
<table class="custom-table">
    <tbody>
        <?php foreach ($board_list as $board): ?>
        <tr>
            <td style="padding:0px 20px;">
             <a href="<?= G5_BBS_URL ?>/board.php?bo_table=<?= $board['bo_table'] ?>" title="<?= $board['bo_table'] ?>">
                    <?= $board['bo_subject'] ?> 
                    <?php if ($board['bo_read_level'] >= 2): ?>
                        <span style="color:red;font-size:0.8em;font-weight:bold;">Lv <?= $board['bo_read_level']; ?></span><!--본문글 읽기 권한 표시-->
                    <?php endif; ?>
                </a>
            </td>
            <td style="text-align:right; padding:3px 20px;">
                <?php if ($board['new_count']): ?><span class="newposts"><?= $board['new_count'] ?></span> / <?php endif; ?><?= $board['count'] ?>
            </td>
        </tr>
        <?php endforeach; ?>
    </tbody>
</table>


</div>

|

댓글 5개

감사 합니다. 참고로 저는 댓글을 표시 하였습니다.

@들레아빠 아....... 댓글이었군요...;;;

감사합니다 ^^

감사합니다 

댓글 작성

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

로그인하기

그누보드5 팁자료실

번호 제목 글쓴이 날짜 조회
공지 3년 전 조회 4,593
2741 어제 조회 78
2740 3일 전 조회 83
2739 1주 전 조회 195
2738 1주 전 조회 201
2737 1주 전 조회 169
2736 1주 전 조회 269
2735 2주 전 조회 274
2734 3주 전 조회 255
2733 1개월 전 조회 258
2732 1개월 전 조회 293
2731 1개월 전 조회 261
2730 1개월 전 조회 218
2729 1개월 전 조회 344
2728 1개월 전 조회 238
2727 1개월 전 조회 413
2726 1개월 전 조회 248
2725 1개월 전 조회 323
2724 1개월 전 조회 352
2723 1개월 전 조회 260
2722 1개월 전 조회 293
2721 1개월 전 조회 206
2720 2개월 전 조회 299
2719 2개월 전 조회 302
2718 2개월 전 조회 196
2717 2개월 전 조회 329
2716 2개월 전 조회 198
2715 2개월 전 조회 306
2714 2개월 전 조회 266
2713 2개월 전 조회 369
2712 2개월 전 조회 284
🐛 버그신고