BOARD

팁·활용

그누보드 게시판 조회수 증가 로직 커스터마이징 (고정값 또는 랜덤)

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 17회 작성일 26-09-25 15:37

본문

그누보드 게시판 조회수 증가 로직 커스터마이징 (고정값 또는 랜덤)

그누보드 운영 시 게시글 조회 시 조회수를 1씩 고정으로 올리거나 랜덤한 값으로 증가시키고 싶을 때 적용할 수 있는 구체적인 설정 방법을 확인합니다.

그누보드 게시판 조회수 증가 로직 커스터마이징 방법

그누보드에서 게시글을 조회할 때 조회수를 1씩 증가시키거나 랜덤한 값으로 증가시키려면, ajax.hit_update.php 파일을 생성하고 게시판 스킨 파일인 view.skin.php에서 이를 include하도록 설정합니다.

1. ajax.hit_update.php 파일 생성

그누보드 버전별 경로에 맞춰 bbs/ajax.hit_update.php 파일을 생성하고 아래 코드를 추가합니다. 고정값 또는 랜덤값 중 원하는 방식을 선택하여 사용할 수 있습니다.

<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

// 조회할 때마다 1번씩 조회수 증가하고자 할 때
// sql_query(" update {$write_table} set wr_hit = wr_hit + 1 where wr_id = '{$view['wr_id']}' ");

// 랜덤으로 조회수 변경을 원할 때 (예: 1~10 사이)
$rand_hit = rand(1,10);
sql_query(" update {$write_table} set wr_hit = wr_hit + {$rand_hit} where wr_id = '{$view['wr_id']}' ");
?>

2. view.skin.php 수정 및 인클루드 설정

사용 중인 환경 및 버전에 맞게 게시판 스킨 상단에 파일을 포함시킵니다. 상세한 경로와 코드는 아래를 참고하십시오.

  • 그누보드4: /skin/board/basic/view.skin.php 상단에 include_once ($g5['path']."/bbs/ajax.hit_update.php"); 추가
  • 그누보드5 (PC/모바일): /skin/board/basic/view.skin.php 또는 /mobile/skin/board/basic/view.skin.php 상단에 include_once (G5_BBS_PATH."/ajax.hit_update.php"); 추가

그누보드 버전 및 환경별 조회수 증가 파일 인클루드 방법

그누보드 버전(G4, G5)과 PC 혹은 모바일 환경에 따라 조회수 증가를 처리하는 ajax.hit_update.php 파일을 인클루드하는 스킨 파일의 경로와 인클루드 코드가 다릅니다. 사용 중인 환경에 맞추어 view.skin.php 파일 상단에 코드를 추가해야 합니다.

1. 그누보드4 (G4) 환경

  • 적용 위치: 그누보드4 / skin / board / basic / view.skin.php 상단
  • 인클루드 코드:
    // 클릭마다 조회수 증가하기
    include_once ($g5['path']."/bbs/ajax.hit_update.php");

2. 그누보드5 (G5) PC 환경

  • 적용 위치: 그누보드5 / skin / board / basic / view.skin.php 상단
  • 인클루드 코드:
    // 클릭마다 조회수 증가하기
    include_once (G5_BBS_PATH."/ajax.hit_update.php");

3. 그누보드5 (G5) 모바일 환경

  • 적용 위치: 그누보드5 / mobile / skin / board / basic / view.skin.php 상단
  • 인클루드 코드:
    // 클릭마다 조회수 증가하기
    include_once (G5_BBS_PATH."/ajax.hit_update.php");

그누보드 게시판 조회수 증가 로직 커스터마이징

그누보드에서 게시글을 조회할 때 조회수를 1씩 증가시키거나 랜덤한 값(예: 1~10)으로 증가시키려면, 별도의 파일을 생성하고 게시판 스킨 파일 상단에 인클루드하는 방식을 적용할 수 있습니다.

1. ajax.hit_update.php 파일 생성

그누보드 버전별 경로에 맞춰 bbs/ajax.hit_update.php 파일을 생성하고 아래 코드를 입력합니다.

  • 그누보드4 경로: 그누보드4 / bbs / ajax.hit_update.php
  • 그누보드5 경로: 그누보드5 / bbs / ajax.hit_update.php
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

// 조회할 때마다 1번씩 조회수 증가하고자 할 때
// sql_query(" update {$write_table} set wr_hit = wr_hit + 1 where wr_id = '{$view['wr_id']}' ");

// 랜덤으로 조회수 변경을 원할 때
$rand_hit = rand(1,10);
sql_query(" update {$write_table} set wr_hit = wr_hit + {$rand_hit} where wr_id = '{$view['wr_id']}' ");
?>

2. 스킨 파일에 인클루드 설정

사용 중인 환경(버전 및 PC/모바일)에 따라 게시판 뷰 스킨 파일 상단에 코드를 추가합니다.

  • 그누보드4 (/skin/board/basic/view.skin.php 상단)
    <?php if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
    // 클릭마다 조회수 증가하기
    include_once ($g5['path']."/bbs/ajax.hit_update.php");
  • 그누보드5 PC (/skin/board/basic/view.skin.php 상단)
    <?php if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
    // 클릭마다 조회수 증가하기
    include_once (G5_BBS_PATH."/ajax.hit_update.php");
  • 그누보드5 모바일 (/mobile/skin/board/basic/view.skin.php 상단)
    <?php if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
    // 클릭마다 조회수 증가하기
    include_once (G5_BBS_PATH."/ajax.hit_update.php");

3. 새로고침 시 조회수 중복 증가 대처 방안

새로고침을 할 때마다 조회수가 계속해서 올라가는 중복 증가 현상을 방지하려면, PHP 세션(get_session, set_session) 조건을 추가하여 브라우저를 닫기 전이나 특정 조건 내에서는 카운트가 중복으로 올라가지 않도록 예외 처리를 적용할 수 있습니다. 예를 들어 아래와 같이 세션 체크 로직을 응용할 수 있습니다.

$ss_name = "ss_view_{$bo_table}_{$view['wr_id']}";
if (!get_session($ss_name)) {
 // 조회수 증가 쿼리 실행
 $rand_hit = rand(1,10);
 sql_query(" update {$write_table} set wr_hit = wr_hit + {$rand_hit} where wr_id = '{$view['wr_id']}' ");
 set_session($ss_name, TRUE);
}

4. 주의 사항 및 참고

  • 기본 스킨에 포함된 ajax.hit_update.php 연동 방식은 새로고침 시 무조건 값이 누적될 수 있으므로, 통계의 정확성이 중요하다면 세션 체크 조건을 포함하여 커스터마이징하는 것을 고려해야 합니다.

그누보드 조회수 커스터마이징 가이드

  • 내 상황: 그누보드 게시판에서 게시글 조회 시 고정값(+1) 또는 랜덤값으로 조회수를 변경하고 싶을 때
  • 선택 기준: 사용 중인 그누보드 버전(G4 또는 G5) 및 디바이스 환경(PC/모바일)
  • 다음 행동: bbs/ajax.hit_update.php 파일을 생성해 증가 쿼리를 작성한 뒤, 해당 게시판의 view.skin.php 상단에 include_once 코드를 추가

실전 FAQ

Q. 새로고침할 때마다 조회수가 계속 올라가나요?

  • 답변: 기본 스킨 연동 방식에서는 조회 시마다 쿼리가 실행되어 새로고침 시 조회수가 반복적으로 누적될 수 있습니다. 중복 증가를 방지하려면 PHP 세션 조건(get_session, set_session)을 추가하여 이미 읽은 글의 카운트 증가를 제한할 수 있습니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.