채택완료

이거 해석가능한 용자님 계신가요?

g4 시절 어느 고마우신 프로그래머 "전0"님이 만들어주신 코드입니다.

g5 로 옮기면서 어떻게 수정해야하고 디비에서 어떤 테이블을 추가해야하는지 보시면 아시는분 계실까요>?

Copy
<?// 주간/월간 활동지수 업데이트//  cf_9에 다음 월 업데이트 시일, cf_8에 다음 주 업데이트 시일 저장 /////////// member 필드를 이용한 활동지수 계산 수식 저장변수$activity_parameters = explode('|', $config['cf_5']);  // mb_3 ~ mb_11의 계수 +15|-1|0|+15|+3|+5|+2|+1|+10$mb_n = 1;foreach ($activity_parameters as &$p) { if($mb_n == 11)   // mycoupe 등록 여부를 wr_id로 저장해 놓은 필드.. 있고(1), 없음(0)에 대한 가중치  $p = " CEILING(CAST(mb_$mb_n AS UNSIGNED) / 10000) * ($p)"; else   $p = "CAST(mb_$mb_n AS UNSIGNED) * ($p)"; $mb_n++;}$activity_point_equation = "( ".implode(' + ', $activity_parameters)." )";if($config['cf_9']<=$g4['time_ymd']) {  update_activity_point('month');}if($config['cf_8']<=$g4['time_ymd']) {  update_activity_point('week');}/////////// 월/주간 활동지수 정보 저장 새로운 함수function update_activity_point($term='month', $limitrow=60){ global $g4, $activity_point_equation; $cf_n = "cf_9"; $cf_subj = "월별활동지수처리"; if ($term=='month') {  $nextterm= date("Y-m-01", strtotime("next month") );   $prevterm= date("Y-m", strtotime("last month") );  } elseif ($term=='week') {  $nextterm= date("Y-m-d", strtotime("next monday") );   $prevterm= date("Y-m-d", strtotime("last monday") );   $cf_n = "cf_8";  $cf_subj = "주별활동지수처리"; }  $wtable="g4_activity_point";  sql_query(" UPDATE $g4[config_table] SET {$cf_n}_subj='$cf_subj', {$cf_n}='$nextterm' "); // 다음 term 시작일(예: 다음달 1일)을 기록해 둠  $result = sql_query(" SELECT mb_id, mb_apoint_{$term} AS prev_apoint, $activity_point_equation AS actpoint        FROM $g4[member_table] WHERE mb_level<48 AND mb_deal=0        ORDER BY actpoint DESC LIMIT 0,$limitrow"); $i=0; while( $row=sql_fetch_array($result)) {   $i++;   sql_query(" INSERT INTO $wtable SET ap_term='$term', mb_date='$prevterm', mb_rank='$i', mb_id='$row[mb_id]', mb_point='".number_format($row[actpoint] - $row[prev_apoint])."', mb_sum='$row[actpoint]' "); }  if (!$activity_point_equation) $activity_point_equation = 0; // 최악의 경우 'null'이 들어갈 수 있으므로.. 0으로 초기화 @2012-11-24 sql_query(" UPDATE $g4[member_table] SET mb_apoint_{$term} = $activity_point_equation ");}?>​
 
|

답변 1개 / 댓글 1개

채택된 답변
+20 포인트
$g4를 $g5로 바꾸시고 테이블명 동일한지만 확인하세요

답변에 대한 댓글 1개

위 코드에 필요한 테이블은 모두 신규로 생성해야합니다.......ㅡㅜ
뭘 신규로 생성해야할지를 모르겟네요

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