질문/조언질답게시판
Extra Form
PHP PHP 7.2
CMS Rhymix 1.x

안녕하세요,

항상 잘 이용하고 잘 만들고 있습니다.

 

다름이 아니라, 출석체크 모듈에서 체크한 날인 경우 그날 몇 포인트를 받았는지(출석으로) 확인하고 싶어 작업하고 있습니다.

과거에 아래 코드를 사용해서 출력한 것 같아 보이지만, 지금은 포맷이 다른 것 같은데요.

{@
$check_dates = sprintf("%s%s%02d",$admin_date_info->_year,$admin_date_info->_month,$_day);

 $checkeds = $checkedM[$check_dates]['regdate'];
 $points = $checkedM[$check_dates]['point'];
}

 

설정은 로그인시 자동으로 출첵하여 포인트를 지급하는 방식이고, SocialXE 와 연동되어 있습니다.

 

제가 생각하는 방법은 MVC중 Controller? 에서? View? 에서 출력할 수 있게 포맷을 만들어 주는 방법이 첫번째고

두번째는 포인트 히스토리에 해당 날짜로 act 가 procSocialxeCallback 이고 타입이 2인(증가) 포인트 값을 출력하면 되지 않나 생각하기도 하는데요.

 

어떻게 하면 스킨에서 출석한 날의 포인트를 보여줄 수 있을지.. 질문드려봅니다.

 

감사합니다.

  • profile
    일단 해결한 방법은

    1. 로그인한 일자를 가져온다
    $check_dates = sprintf("%s%s%02d",$admin_date_info->_year,$admin_date_info->_month,$_day);

    그 다음, 포인트 히스토리에 act가 procSocialxeCallback 이고, 포인트 타입이 증감, member_srl을 기준으로 해당 일자마다 DB에서 값을 가져온다.

    2.
    결과값에 Point값이 있을것이니 그 값을 사용해 출력한다.


    일단은 이렇게 출력했습니다.

    전체 값도 필요해서, DB에서 내 ID로 된 모든 포인트 히스토리에 출석 체크에 sum(point)를 했고요.


    더 좋은 방법이 있을지는.. 모르겠네요.
  • profile

    무조건 로그인시 procSocialxeCallback 을 가져오진 않습니다.
    그리고 doLogin도 사용하지 않은 경우도 있습니다.

    배포판이 아니라 개발판에서는 해당 출석하는 부분도 대폭 개선되어서 다른 조건도 존재합니다.

    정석적인 방법은 20210312와 같이 년월일 까지만 가져와서 like 쿼리 방식으로 검사하면 원하는 날자의 정보를 가져올 수 있을 겁니다.

    procSocialxeCallback 을 연계하지말고 procSocialxeCallback 는 없는샘치고 실제로 출석데이터에 저장된 값을 가져오는 것이 정석입니다.

  • profile profile
    말씀해주신 방법은 꼭 출석한 날의 경우 rx_attendance_monthly 의 테이블에서 like쿼리 방식으로 검사하면 된다는 것인가요?

    출석부 모듈을 유심히 보지 않다 보니 놓치는 것들이 많은 거 같습니다..
  • profile profile
    monthly에는 그냥 몇번 출석했는지에 대한 데이터가 담기고요.. attendance 테이블을 가져오면 될텐데요.

    날자별로 검색하는 쿼리 날리시면 되요.
  • profile profile
    아! rx_attendance 테이블에 저장된게 있군요.

    감사합니다 (__)