Q&A

CMS/프레임워크 XE 1.x
개발 언어 PHP 7.2
{@
$oGradeupModel = getModel('gradeup');
$output = $oGradeupModel->getTermGroupLog($args)->data;
}

gradeup 모듈에서 특정회원의 만료일값을 출력해주고 싶습니다.

{print_r($output)}

이렇게 해보니깐,

(
    [2] => stdClass Object
        (
            [log_srl] => 2
            [member_srl] => 97
            [old_group_srl] => 2
            [new_group_srl] => 1@3
            [add_group_srl] => 3
            [gradeup_add_type] => add
            [regdate] => 20181202144500
            [remain_date] => 20191219144600
        )

    [1] => stdClass Object
        (
            [log_srl] => 4
            [member_srl] => 159
            [old_group_srl] => 3
            [new_group_srl] => 
            [add_group_srl] => 3
            [gradeup_add_type] => reset
            [regdate] => 20181202000000
            [remain_date] => 20190202235959
        )

)
1/

그럼 여기서 현재 로그인한 회원의 remain_date를 출력해주고 싶은데요,

{$output[1]->remain_date}

이렇게 하면 첫번째 배열의 remain_date가 나온다는 건 알았습니다.

 

여기서 질문,

배열 안에서 member_srl==$logged_info->member_srl인 값의 remain_date가 나오게 하려면 어떻게 해야 하나요?

 


{@
$oGradeupModel = getModel('gradeup');
$output = $oGradeupModel->getTermGroupLog($args);
}

<!--@foreach($output->data as $key => $val)-->
{$val->member_srl}
<!--@end-->

이렇게 하면 배열안에 member_srl이 다 출력되버리공..

97 159 이렇게 ㅠ


{@
$oGradeupModel = getModel('gradeup');
$output = $oGradeupModel->getTermGroupLog($args);
}
<div style="letter-spacing:-1px;">
<!--@foreach($output->data as $key => $val)-->
   <!--@if($val->member_srl == $logged_info->member_srl)-->
   만료일 : {date("Y.m.d H:i:s",strtotime($val->remain_date));} <br>
   <!--@end-->
<!--@end-->
</div>

이렇게 해줬습니다. ㅠㅠ 더 좋은 코드 있으면 알려주세요;


{@
$oGradeupModel = getModel('gradeup');
$output = $oGradeupModel->getTermGroupLog($args);
}
<div style="letter-spacing:-1px;">
<!--@foreach($output->data as $key => $val)-->
   <!--@if($val->member_srl == $logged_info->member_srl)-->
   만료일 : {date("Y.m.d H:i:s",strtotime($val->remain_date));} <br>
   {@
   $a = date('Y-m-d',strtotime($val->remain_date));
   $b = date('Y-m-d');
   
   $start = new DateTime($a);
   $end = new DateTime($b);
   $gap = date_diff($start, $end);
   //$gap->invert;
   }
   만료 {$gap->days}일 전입니다.
   <!--@end-->
<!--@end-->

이건 만료일자 차이값도 추가해줬습니다.

eond Lv. 13
# 라이믹스 스킨 제작은 어디? >>>> XE 레이아웃, 라이믹스 스킨제작은 이온디에서 커스터마이징해드립니다.
# 빠른 라이믹스 커뮤니티용 호스팅을 찾고 계신가요? >>>> 이온디호스팅 서비스는 PHP8 & Redis 서버 캐시를 활용하여 라이믹스에 최적화된 호스팅 서비스를 제공해드립니다. (서버세팅시 웹패널, 내도메인메일서비스도 함께 구축해드립니다.)
https://eond.com

댓글 1

  • 2018.12.07 00:09 #1123680

    루프 돌리는 것보다는 해당 모듈에서 getRemainDateByMemberSrl 같은 함수나 쿼리xml을 제공하면 좋을 텐데요. 없으면 쿼리를 직접짜시는 게 좋을 것 같습니다.