포인트 상대적 퍼센트표시 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

포인트 상대적 퍼센트표시 정보

포인트 상대적 퍼센트표시

본문

오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.

오류 주소 :

/expend/활동지수엔진.php

<?
// 주간/월간 활동지수 업데이트

/////////// member 필드를 이용한 활동지수 계산 수식 저장변수
$activity_parameters = explode('|', $config['cf_5']); // mb_3 ~ mb_11의 계수 +15|-1|0|+15|+3|+5|+2|+1|+10
$mb_n = 3;
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 ");
}
?>

-------------------------------------------------------------------------------------------------

/랭킹.php


$limitrows = 50; // 페이지 당 리스트 수
$rank_start = ($page-1) * $limitrows;

$result = sql_query(" SELECT mb_id, mb_name, mb_email,mb_homepage, $activity_point_equation AS actpoint
FROM $g4[member_table] WHERE mb_level < '48' AND mb_deal = 0
ORDER BY actpoint DESC LIMIT $rank_start, $limitrows ");

//총 점수 불러옴
<?=$list_all[$i]['apoint']?>

--------------------------------------------------------------------------------------------------

위처럼 개인의 활동지수 처리가 되어있습니다.
여기서 1등의 활동지수 <?=$list_all[$i]['apoint']?> 의 점수를 몇점이 들어있든 100% 로 봣을때

각각 회원의 <?=$list_all[$i]['apoint']?> 점수를 퍼센트로 별도표시하고 싶습니다.

즉, 1등하고 점수차가 가까울수록 100%에 가깝겠지요.
위 코드들은 별도로 움직이는 화일들이라 제가 사용하고픈 장소(profile.skin.php , view.skin.php , view_comment.skin.php)에 사용할 독립적으로 불러오는 코드가 필요합니다.

의뢰게시판으로 가야한다면 대충 견적을 얼마로 책정하고 의뢰를 해야하는지라도 쪽지라도 부탁해요.
  • 복사

댓글 전체

© SIRSOFT
현재 페이지 제일 처음으로