테스트 사이트 - 개발 중인 베타 버전입니다

포인트 상대적 퍼센트표시

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

오류 주소 :

/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)에 사용할 독립적으로 불러오는 코드가 필요합니다.

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

댓글 작성

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

로그인하기

게시글 목록

번호 제목
284508
284499
284492
284490
284484
284481
284478
284476
284474
284472
284470
284458
284457
284454
284453
284447
284446
284444
284441
284440