배수 적용 방법 문의 채택완료

출석부를 사용중입니다.

7일, 30일, 365일 마다 개근포인트를 적용하려고 합니다.

그런데 현재의 소스는 7일째 한번 적용되고 14일 21일에는 적용이 안됩니다.

30일째는 적용되고 60일, 90일에는 적용이 안됩니다.

각각의 배수마다 개근포인트를 적용시키려면 다음 소스에서 어디를 어떻게 수정해야 할까요?

고수님들의 도움을 요청드립니다.    

 

$list = ($i%2);

    if ($data[reset] == 7) {
      $label = '<span class="label label-info">개근</span>';
      $label_point = '<span class="label label-info">개근</span> <font color="#FF0000">포인트 '.$data[mb_point].'</font>';
    } 
    elseif ($data[reset] == 30) { 
      $label = '<span class="label label-success">개근</span>';
      $label_point = '<span class="label label-success">개근</span> <font color="#FF0000">포인트 '.$data[mb_point].'</font>';
    } 
    elseif ($data[reset] == 365) { 
      $label = '<span class="label label-warning">개근</span>';
      $label_point = '<span class="label label-warning">개근</span> <font color="#FF0000">포인트 '.$data[mb_point].'</font>';
    } else {
      $label = '';
      $label_point = '<font color="#FF0000">포인트 '.$data[mb_point].'</font>';
    }

답변 2개

채택된 답변
+20 포인트

 if ($data[reset] % 7 ==0 || $data[reset] % 30==0 || $data[reset] % 365==0){

      $label = '<span class="label label-info">개근</span>';
      $label_point = '<span class="label label-info">개근</span> <font color="#FF0000">포인트 '.$data[mb_point].'</font>';

}

 

그런데 조건이 좀 이상하지않나요? 7, 14, 21, 28일째 적용한다면

28째에 적용하고 또 30일째에도 적용하니....

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

오늘 조건에 해당하는 아이디가 있어 실행해 보았지만 적용이 안됩니다.
아무튼 답변 감사합니다.
안된다구요?
$data[reset]에 값이 제대로 들어가 있는 이상 안될 이유는 없습니다

저 if문 위쪽에
$data[reset] = 14; <--이런 식으로 값을 넣어서 테스트 해보세요
해결책을 찾았습니다.

if ($data[reset] == 7) {

이 부분을

if ($data[reset] % 7 == 0) {

....

elseif ($data[reset] % 30 == 0) {

....

elseif ($data[reset] % 365 == 0) {

....



전부 이렇게 바꾸니 해결되었습니다.

답변해 주셔서 감사를 드립니다.

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

https://sir.kr/g5_plugin/3063

 

참고해보세요

로그인 후 평가할 수 있습니다

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

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고