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

한번 읽은글은 동일ID에서는 카운트를 증가시키지 않음

일반적으로 조회수 늘리기 팁이나 문의는 많지만, 조회수 늘지 않기를 원하는 경우는 없죠.
아래 팁은 조회수 늘리지 않기 위한 팁입니다.

아이디당 게시글을 오직 한번만 조회수를 늘립니다.
팁 내용중 오류나 이상한것이 있으면 알려주세요. 일단 필요해서 만들기는 했는데, 더 쉬운 방법이 있을지 궁금하네요.

그누보드는 세션을 이용해서 조회수 증가를 막지만, 브라우저를 종료하면 다시 조회수가 올라간다는 점에서 제가 원하는 기능에 부족하더라구요.

쪽지로 힌트를 주신 강한남v님 감사합니다.

1. 읽은것을 기록할 테이블 생성
CREATE TABLE IF NOT EXISTS `g5_board_hit` (
`bh_idx` int(11) NOT NULL auto_increment,
`bo_table` varchar(50) NOT NULL,
`wr_id` int(11) NOT NULL,
`mb_id` varchar(50) NOT NULL,
`bh_datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`bh_id`),
KEY `mb_id` (`mb_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


2. 그누보드5 / bbs / board.php 116~120줄

// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
$ss_name = 'ss_view_'.$bo_table.'_'.$wr_id;
if (!get_session($ss_name))
{
sql_query(" update {$write_table} set wr_hit = wr_hit + 1 where wr_id = '{$wr_id}' ");

를 아래와 같이 변경합니다.

// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
$ss_name = "ss_view_{$bo_table}_{$wr_id}";
if (!get_session($ss_name))
{
if ($bo_table == "게시판이름") { // 읽기를 제어할 게시판 이름 / 읽기권한은 회원전용으로
$sql = " select count(*) as cnt from g5_board_hit where bo_table = '". $bo_table ."' and wr_id = '". $wr_id ."' and mb_id = '". $member['mb_id'] ."' ";
$row = sql_fetch($sql);
if (!$row[cnt]) { // 처음 읽을때
sql_query(" insert into g5_board_hit (bo_table, wr_id, mb_id, bh_datetime) values ('". $bo_table ."', '". $wr_id ."', '". $member['mb_id'] ."', '". date("Y-m-d H:i:s") ."')");
sql_query(" update $write_table set wr_hit = wr_hit + 1 where wr_id = '$wr_id' ");
} else { // 읽은기록이 있을때
}
} else {
sql_query(" update $write_table set wr_hit = wr_hit + 1 where wr_id = '$wr_id' ");
}
|

댓글 3개

bo_table, wr_id, mb_id 를 인덱스처리하는게 낫지 않을까요 !
좋은의견 감사합니다.

댓글 작성

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

로그인하기

그누보드5 팁자료실

번호 제목 글쓴이 날짜 조회
공지 3년 전 조회 4,598
2741 4일 전 조회 125
2740 5일 전 조회 112
2739 1주 전 조회 212
2738 1주 전 조회 221
2737 1주 전 조회 184
2736 2주 전 조회 282
2735 3주 전 조회 288
2734 3주 전 조회 264
2733 1개월 전 조회 267
2732 1개월 전 조회 302
2731 1개월 전 조회 269
2730 1개월 전 조회 227
2729 1개월 전 조회 359
2728 1개월 전 조회 245
2727 1개월 전 조회 422
2726 1개월 전 조회 259
2725 1개월 전 조회 332
2724 1개월 전 조회 363
2723 1개월 전 조회 267
2722 1개월 전 조회 300
2721 1개월 전 조회 214
2720 2개월 전 조회 304
2719 2개월 전 조회 308
2718 2개월 전 조회 202
2717 2개월 전 조회 337
2716 2개월 전 조회 203
2715 2개월 전 조회 313
2714 2개월 전 조회 273
2713 2개월 전 조회 377
2712 2개월 전 조회 289
🐛 버그신고