출석부

출석부

QA

출석부

본문

https://sir.kr/g5_plugin/3063

해피정님이 올려주신 출석부입니다.

 

 


<?php
include_once("./_common.php");
// 비회원
if (!$is_member) {
    alert("로그인 후 이용하세요.");
}
// 출석 시간 체크
if (date("H:i:s") < $att_start_time || date("H:i:s") > $att_end_time) {
    alert("출석 시간이 아닙니다.");
}
// 총출석일수
$sql = " select sumday from {$g5['attendance_table']} where mb_id = '{$member['mb_id']}' order by datetime desc ";
$row = sql_fetch($sql);
// 총출석일
$sumday = $row['sumday'] + 1;
// 오늘 출석했나?
$sql = " select * from {$g5['attendance_table']} where mb_id = '{$member['mb_id']}' and substring(datetime,1,10) = '".G5_TIME_YMD."' ";
$check = sql_fetch($sql);
// 출석했다면.
if ($check['mb_id']) {
    alert("이미 출석 하였습니다.");
}
// 1일 뺀다.
$day = date("Y-m-d", G5_SERVER_TIME - (1 * 86400));
// 어제 출석했나?
$sql = " select * from {$g5['attendance_table']} where mb_id = '{$member['mb_id']}' and substring(datetime,1,10) = '{$day}' ";
$row = sql_fetch($sql);
// 1일 포인트
$sql_point = $att_day_point;
    
// 어제 출석했다면
if ($row['mb_id']) {
    // 전체 개근에 오늘 합산
    $sql_day = $row['day'] + 1;
    // 지난 개근체크에 오늘 합산
    $sql_reset = $row['reset'] + 1;
    $sql_reset2 = $row['reset2'] + 1;
    $sql_reset3 = $row['reset3'] + 1;
    
    if ($sql_reset == 7) { // 7일 개근
        $sql_reset  = "0"; 
        $sql_point  = $sql_point + $att_week_point;
    }
    
    if ($sql_reset2 == 30) { // 30일 개근
        $sql_reset2 = "0"; 
        $sql_point  = $sql_point + $att_month_point;
    }
    
    if ($sql_reset3 == 365) {  // 365일 개근
        $sql_reset3 = "0"; 
        $sql_point  = $sql_point + $att_year_point;
    }
} else { // 출석하지 않았다면
    // 전체 개근 설정
    $sql_day = "1";
    // 리셋
    $sql_reset  = "1";
    $sql_reset2 = "1";
    $sql_reset3 = "1";
}
// 첫출근
$sql = " select count(*) as cnt, rank from {$g5['attendance_table']} where substring(datetime,1,10) = '".G5_TIME_YMD."' ";
$first = sql_fetch($sql);
// 아무도 없다면..
$rank = "";
if (!$first['cnt'] && $first['rank'] != 1) { // 1등 포인트
    $sql_point = $sql_point + $att_first_point;
    $rank = 1;
} elseif ($first['cnt'] == 1 && $first['rank'] != 2) { // 2등 포인트 
    $sql_point = $sql_point + $att_second_point; 
    $rank = 2;
} elseif ($first['cnt'] == 2 && $first['rank'] != 3) { // 3등 포인트 
    $sql_point = $sql_point + $att_third_point; 
    $rank = 3;
}
// 기록
$sql = " insert into {$g5['attendance_table']}
            set mb_id = '{$member['mb_id']}',
                subject = '{$_POST['subject']}',
                day = '{$sql_day}',
                sumday = '{$sumday}',
                reset = '{$sql_reset}',
                reset2 = '{$sql_reset2}',
                reset3 = '{$sql_reset3}',
                point = '{$sql_point}',
                rank = '{$rank}',
                datetime = '".G5_TIME_YMDHIS."' ";
sql_query($sql);
// 출석 포인트 지급
insert_point($member['mb_id'], (int)($sql_point * 1), "출석 포인트", "@attendance", $member['mb_id'], G5_TIME_YMD);
// 완료
alert("출석체크완료", "./attendance.php");
?>

 

위와같이 되어있는데. 

여기서 포인트 지급이 7일 30일 365일 이렇게 되어있습니다.

 

 

그럼 7일 마다 포인트 지급인가요?

 

아니면 딱 7.30.365일 이렇게 해당일에만 지급인가요?

이 질문에 댓글 쓰기 :

답변 1

답변을 작성하시기 전에 로그인 해주세요.
전체 1
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT