(소스 수정부탁) 특정 게시판 의 글쓰기 포인트는 한시간 지나서 지급하는 것에 정보
(소스 수정부탁) 특정 게시판 의 글쓰기 포인트는 한시간 지나서 지급하는 것에본문
special 게시판의 글쓰기 포인트는
1시간 지나서 포인트를 지급 하는 것인데요...
insert_point($member[mb_id], $board[bo_write_point], "$board[bo_subject] $wr_id 글쓰기", $bo_table, $wr_id, '쓰기');
----> 아래와 같이 수정해 보았습니다....근데 .. 시간지나서 포인트 지급이 안되어요~~
----> 고수님들께 부탁드립니다.
// 게시글이 등록된지 1시간이 지나서 포인트 지급하기 시도
//
////제한받을 게시판명을 적어주세요.
$table_name ="special";
$bo_table_name ="".$g4[write_prefix]."".$table_name."";
$after1day = date("Y-m-d", time() - (120 * 1));
$qrySql = sql_fetch("select wr_datetime from $write_table where wr_id = '$wr_id'");
if($g4[server_time] <= strtotime($after1day, strtotime($qrySql[wr_datetime])) )
{
// 포인트 부여
insert_point($member[mb_id], $board[bo_write_point], "$board[bo_subject] $wr_id 글쓰기", $bo_table, $wr_id, '쓰기');
}
/// 제한 게시판 외의 다른 게시판은 포인트 바로 지급
else{ insert_point($member[mb_id], $board[bo_write_point], "$board[bo_subject] $wr_id 글쓰기", $bo_table, $wr_id, '쓰기');
}
//
// 패쓰 끝
1시간 지나서 포인트를 지급 하는 것인데요...
insert_point($member[mb_id], $board[bo_write_point], "$board[bo_subject] $wr_id 글쓰기", $bo_table, $wr_id, '쓰기');
----> 아래와 같이 수정해 보았습니다....근데 .. 시간지나서 포인트 지급이 안되어요~~
----> 고수님들께 부탁드립니다.
// 게시글이 등록된지 1시간이 지나서 포인트 지급하기 시도
//
////제한받을 게시판명을 적어주세요.
$table_name ="special";
$bo_table_name ="".$g4[write_prefix]."".$table_name."";
$after1day = date("Y-m-d", time() - (120 * 1));
$qrySql = sql_fetch("select wr_datetime from $write_table where wr_id = '$wr_id'");
if($g4[server_time] <= strtotime($after1day, strtotime($qrySql[wr_datetime])) )
{
// 포인트 부여
insert_point($member[mb_id], $board[bo_write_point], "$board[bo_subject] $wr_id 글쓰기", $bo_table, $wr_id, '쓰기');
}
/// 제한 게시판 외의 다른 게시판은 포인트 바로 지급
else{ insert_point($member[mb_id], $board[bo_write_point], "$board[bo_subject] $wr_id 글쓰기", $bo_table, $wr_id, '쓰기');
}
//
// 패쓰 끝
댓글 전체
$qrySql = sql_fetch("select wr_datetime from $write_table where wr_id = '$wr_id'");
쿼리 자체가 잘못 된거 같은데요 1시간이 지난후 포인트를 비교를 한다면 포인트를 해당 글쓴이에게 포인트를 지급하는거 아닌가요 ? 위와 같이 쿼리를 날리면 넘어온 테이블의 게시물과 비교를 하겠죠
즉 만약에 해당 게시물의 지금 작성된 게시물의 wr_id 값이 15라고 하면 special 게시판의 15번 게시물에 대한 셀렉트를 하게 되는데 당연히 시간 비교자체가 되지 않겠죠
$qrySql = sql_fetch("select wr_datetime from $write_table where wr_id = '$wr_id'");
1시간 이후면 이미 작성된 게시물에 대해서 포인트를 지급해야 하므로 해당 작성자의 최근 게시물 한개를 비교해서 포인트를 지급해야 하는게 아닌지 ...
쿼리 자체가 잘못 된거 같은데요 1시간이 지난후 포인트를 비교를 한다면 포인트를 해당 글쓴이에게 포인트를 지급하는거 아닌가요 ? 위와 같이 쿼리를 날리면 넘어온 테이블의 게시물과 비교를 하겠죠
즉 만약에 해당 게시물의 지금 작성된 게시물의 wr_id 값이 15라고 하면 special 게시판의 15번 게시물에 대한 셀렉트를 하게 되는데 당연히 시간 비교자체가 되지 않겠죠
$qrySql = sql_fetch("select wr_datetime from $write_table where wr_id = '$wr_id'");
1시간 이후면 이미 작성된 게시물에 대해서 포인트를 지급해야 하므로 해당 작성자의 최근 게시물 한개를 비교해서 포인트를 지급해야 하는게 아닌지 ...
덧붙이자면
$qrySql = sql_fetch("select wr_datetime from $write_table where mb_id = $member[mb_id] and wr_id < $wr_id order by wr_datetime desc limit 1");
참고로 작성자의 이전에 게시물과 비교를 할려면 이렇게 쿼리를 날려야 하는게 아닌지 ..
해당 작성자가 해당 게시판에서 작성한 게시물이 있다면 지금 넘어온 게시물보다 작은 1개만 불러 와서 비교를 해야 겠죠 그래야 이 게시물 이전에 작성한 게시물 1개가 나올 테니 그리고 포인트 인서트 할때 해당 게시물 번호로 포인트가 지급된게 있으면 업대이트를 하지 않으면 되죠
근데 이 인서트문을 어디서 날리는지 모르니 ..
$qrySql = sql_fetch("select wr_datetime from $write_table where mb_id = $member[mb_id] and wr_id < $wr_id order by wr_datetime desc limit 1");
참고로 작성자의 이전에 게시물과 비교를 할려면 이렇게 쿼리를 날려야 하는게 아닌지 ..
해당 작성자가 해당 게시판에서 작성한 게시물이 있다면 지금 넘어온 게시물보다 작은 1개만 불러 와서 비교를 해야 겠죠 그래야 이 게시물 이전에 작성한 게시물 1개가 나올 테니 그리고 포인트 인서트 할때 해당 게시물 번호로 포인트가 지급된게 있으면 업대이트를 하지 않으면 되죠
근데 이 인서트문을 어디서 날리는지 모르니 ..
해봣는데 .. 안되네요..
제가 먼가 생각을 잘 못하고 있는듯 합니다..
암튼 초보의 시도에 관심주셔서 감사합니다
제가 먼가 생각을 잘 못하고 있는듯 합니다..
암튼 초보의 시도에 관심주셔서 감사합니다
어디서 어떻게 포인트를 넣어 주는지 어디서 업대이트를 하고 어디서 비교를 하는지등이 전혀 없으니 정확한 답변이 나올 수 없는 겁니다.
아래의 마스타님 말씀대로 전체 회원에게 포함되는건지 10분마다 주기적으로 크론이 돌아서 업대이트 해줘야 하는건지등등 말이죠
아래의 마스타님 말씀대로 전체 회원에게 포함되는건지 10분마다 주기적으로 크론이 돌아서 업대이트 해줘야 하는건지등등 말이죠
bbs/write_update.php
파일에서
//쓰기 포인트 부여
<중략>
insert_point($member[mb_id], $board[bo_write_point], "$board[bo_subject] $wr_id 글쓰기", $bo_table, $wr_id, '쓰기');
<하략>
이 부분을 수정해 보려고 햇던 겁니다.
파일에서
//쓰기 포인트 부여
<중략>
insert_point($member[mb_id], $board[bo_write_point], "$board[bo_subject] $wr_id 글쓰기", $bo_table, $wr_id, '쓰기');
<하략>
이 부분을 수정해 보려고 햇던 겁니다.
이건 웹페이지에서 구현 될 것이 아닌데요.. ^^
주기적으로 배치 돌면서 체크해야 하는 거라서..
crontab 이나 디비스케줄.. 등에서 처리해야 할 것 같습니다.
주기적으로 배치 돌면서 체크해야 하는 거라서..
crontab 이나 디비스케줄.. 등에서 처리해야 할 것 같습니다.
넵. 저는 호스팅 서비스 받는 중이라서.. 안될런가 봅니다
감사합니다
감사합니다