글읽기 포인트 시간조절...

글읽을때 포인트를 100으로 설정 했습니다.

포인트를 사용해서 한번 클릭한 글에 대해서는 12시간만 적용을 시켜주고 싶은데,
어떻게 건드려야될지 모르겠어서 질문 드립니다.ㅠ

if ($board[bo_read_level] > 1) {
if ($member[mb_point] + $board[bo_read_point] < 0)
alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 글읽기(".number_format($board[bo_read_point]).")가 불가합니다.\\n\\n포인트 충전 후 다시 글읽기 해 주십시오.");

insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');
}

이부분을 수정해야될꺼같은데 어떤식으로 해야될지 ..
고수님들 답변 부탁드립니다~
|

댓글 3개

위 스크립트만으로는 제어가 힘드실겁니다..
먼저 글을 잃은 회원아이디(번호)와 일시를 저장하여야만합니다.
그래야만 이글을 누가 언제 보았는지 확인됩니다.
즉 "어느게시판에 어느글을 언제 보았는가" 에 대한 자료가 있다면 다음과 같은 방법이 나올수 있는것입니다.


CREATE TABLE `point_view` (
`num` int(11) NOT NULL auto_increment,
`bo_table` varchar(20) NOT NULL default '',
`wr_id` int(11) NOT NULL default '0',
`mb_id` varchar(255) NOT NULL default '',
`reg_date` int(11) NOT NULL default '0',
PRIMARY KEY (`num`),
KEY `mb_id` (`mb_id`)
);



$sql = " select * from point_view where mb_id = '$member[mb_id]' and bo_table='$bo_table' and wr_id = '$wr_id'";
$row = sql_fetch($sql);

$reg_date = $row[reg_date] + 60*60*12;


if($row[no] && $reg_date > $g4[server_time]) {


if ($board[bo_read_level] > 1) {
if ($member[mb_point] + $board[bo_read_point] < 0)
alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 글읽기(".number_format($board[bo_read_point]).")가 불가합니다.\\n\\n포인트 충전 후 다시 글읽기 해 주십시오.");

insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');

//회원정보와 시간을 기록
$sql = " insert into point_view set bo_table = '$bo_table', wr_id = '$wr_id', mb_id = '$member[mb_id]', reg_date = '$g4[server_time]'";
sql_query($sql);


}


}
우선 감사합니다..
말씀해주신데로 디비 생성하고,

// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
$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' ");

// 자신의 글이면 통과
if ($write[mb_id] && $write[mb_id] == $member[mb_id])
;
else
{
$sql = " select * from point_view where mb_id = '$member[mb_id]' and bo_table='$bo_table' and wr_id = '$wr_id'";
$row = sql_fetch($sql);

$reg_date = $row[reg_date] + 60*60*12;


if($row[no] && $reg_date > $g4[server_time]) {

if ($board[bo_read_level] > 1) {
if ($member[mb_point] + $board[bo_read_point] < 0)
alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 글읽기가 불가능합니다.\\n\\n포인트 충전 후 다시 이용 해 주세요.");

insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');

//회원정보와 시간을 기록
$sql = " insert into point_view set bo_table = '$bo_table', wr_id = '$wr_id', mb_id = '$member[mb_id]', reg_date = '$g4[server_time]'";
sql_query($sql);
}
}
}

set_session($ss_name, TRUE);
}

이런식으로 처리했는데, insert_point도 되지 않습니다.
예시는든것이였습니다만.. ^^
제가 틀린 부분이 있네요..

$sql = " select * from point_view where mb_id = '$member[mb_id]' and bo_table='$bo_table' and wr_id = '$wr_id'";
$row = sql_fetch($sql);

특정 게시판에 특정글을 보았을때. $row[num] 값이 있을경우이고..
글을 보지 않았을때는 $row[num] 값이 없는것이죠.
또한 글을 본 시점으로 시간이 기록됩니다.
하여 $reg_date = $row[reg_date] + 60*60*12; 본시점에서 12시간을 추가해주고 현재시간과 비교하면 되는것이구요.
다음과 같이 정의할수 있습니다.



$sql = " select * from point_view where mb_id = '$member[mb_id]' and bo_table='$bo_table' and wr_id = '$wr_id'";
$row = sql_fetch($sql);

if($row[no]) $reg_date = $row[reg_date] + 60*60*12;
else $reg_date = $g4[server_time] - 60;

if($reg_date < $g4[server_time]) {

if ($board[bo_read_level] > 1) {
if ($member[mb_point] + $board[bo_read_point] < 0)
alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 글읽기가 불가능합니다.\\n\\n포인트 충전 후 다시 이용 해 주세요.");

insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');

//회원정보와 시간을 기록
$sql = " insert into point_view set bo_table = '$bo_table', wr_id = '$wr_id', mb_id = '$member[mb_id]', reg_date = '$g4[server_time]'";
sql_query($sql);
}

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

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
15년 전 조회 1,649
15년 전 조회 1,560
15년 전 조회 1,561
15년 전 조회 1,635
15년 전 조회 1,855
15년 전 조회 2,358
15년 전 조회 1,427
15년 전 조회 1,554
15년 전 조회 1,521
15년 전 조회 1,787
15년 전 조회 1,653
15년 전 조회 1,611
15년 전 조회 1,907
15년 전 조회 1,527
15년 전 조회 1,532
15년 전 조회 1,689
15년 전 조회 3,263
15년 전 조회 1,762
15년 전 조회 1,522
15년 전 조회 1,072
🐛 버그신고