일정 기간 특정 게시판에 글을 안남기면 등급을 내려가게 하고 싶어요.. > 그누4 질문답변

그누4 질문답변

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

일정 기간 특정 게시판에 글을 안남기면 등급을 내려가게 하고 싶어요.. 정보

일정 기간 특정 게시판에 글을 안남기면 등급을 내려가게 하고 싶어요..

본문

일정 기간 특정 게시판에 글을 안남기면 등급을 내려가게 하고 싶어요..

 관련 자료도 잘 안보이구요..

 일단 설명을 하자면요..


 그러니깐....

 <?

 게시판 이름에다가..

 60일동안 글을 안남기면,

 멤버의 레벨이 낮아지게 되는..

 ?>

 그런 sql 명령문을 만들고 싶은데..


 질문입니다..

 01. 한번의 실행으로(php) 이런게 구축이 가능한가요?
 02. 관련 자료나.. 게시물을 못찾겠네요ㅠ(새벽 4시 25분..ㅠㅠ)

 03. ㅠㅠㅠㅠㅠㅠ
  • 복사

댓글 전체

만들다보니 굉장히 복잡해졌는데.. 쉽게 고쳐주실 고수분들이 계실겁니다..

아래 내용을 해당 게시판 list.skin.php에 넣어두시면 해당 게시판 리스트를 열람할 시에 자동으로 체크합니다.

다른위치에 (홈페이지 메인 인덱스라던지..) 넣으시려면 $write_table자리에 실제 테이블명을 적으시면 됩니다.



//기간설정
$limit_date = "60";
//다운시킬 레벨 설정
$after_level = "1";
//해당게시판에 현재 접속한 멤버 아이디 값으로 게시글 등록일을 꺼내옵니다. limit이 1이니 마지막 한개죠.. desc = 내림차순
$sql  = " select wr_datetime from $write_table where mb_id = '$member[mb_id]' order by wr_datetime desc limit 0, 1 ";
$result = sql_query($sql);

while ($row = sql_fetch_array($result)){
//$last_write_date라는 변수에 꺼내온 날짜를 담아둡니다.
$last_write_date = $row[wr_datetime];
}
//$last_write_day변수에 날짜데이터를 변환해서 넣어둡니다.
$last_write_day = date("Y-m-d",strtotime($last_write_date));
//$last_write_day변수에 들어있는 날짜데이터를 - 를 기준으로 쪼개서 배열변수로 변환합니다.
$last_write_day = explode("-",$last_write_day);
//마지막 글 쓴 일로부터 $limit_days만큼 지난 날짜를 얻어 $limit_day 함수에 넣어둡니다.
$limit_day = date("Y-m-d",mktime(0,0,0,$last_write_day[1],$last_write_day[2]+$limit_date,$last_write_day[0]));
//$today 변수에 오늘 날짜를 변환해서 넣어둡니다.
$today = date("Y-m-d",time());

//오늘 날짜가 limit_day보다 클 때
if($limit_day < $today){
//멤버테이블에서 해당멤버의 레벨을 $after_level로 수정합니다.
//현재 레벨에서 몇단계 다운시킬경우 현재 레벨을 먼저 가져와서 계산공식을 거쳐서 다시 업데이트 해야함..
$update_sql = " update g4_member set mb_level = '$after_level' where mb_id = '$member[mb_id]' ";
sql_query($update_sql);
//현재 레벨을 가져옵니다.
$sql1 = " select mb_level from g4_member where mb_id = '$member[mb_id]' ";
$result1 = sql_query($sql1);
while($row1 = sql_fetch_array($result1)){
//$update_level변수에 변경된 레벨을 넣습니다.
$update_level = $row1[mb_level];
}
//경고창..
alert("{$limit_date}일동안 게시글을 남기지 않아 레벨 {$update_level}로 강등되셨습니다.");
}
© SIRSOFT
현재 페이지 제일 처음으로