* write에서 입력박스로 글쓰기 () 포인트 지정하기 (DB는 wr_2 사용해야 겠지요;;)
- 포인트값은 member[mb_point] 에서, 자신의 보유 포인트의 0.1~10%로 지정해야함.
예) 현재 100,000점을 보유하고 있다면,
포인트값 최소 100~10,000점 범위 에서 지정해야함.
- 아래와 같이 글작성시 나타내어야함.
( ) 포인트 - 현재 100,000점 보유 / 100(0.1%) ~ 10,000(10%) 범위에서 지정 가능
( ) 포인트 - 현재 ""점 보유 / ""(""%) ~ ""(""%) 범위에서 지정 가능
+ 포인트 단위는 100점 단위로 입력 해야됩니다
* view에서는
- 자신의 글을 볼때엔 포인트 삭감 안되어야함.
- 상대방이 글을 볼때엔 보유포인트에서 위의글 포인트 착감되는 메시지를 나타내어야함.
예) "현재 25,000점 에서 5,000점 착감 되었습니다 (20,000점 남았습니다)"
"현재 ''점 에서 ''점 착감 되었습니다 (''점 남았습니다)"
- 만일 포인트가 모자 랐을겨우엔
예) "현재 4,500점 에서 500점 모자랍니다 글,볼수가 없습니다."
"현재 ''점 에서 ''점 모자랍니다 글,볼수가 없습니다."
* 착감된 포인트는 글쓴이의 포인트에 적립 되어야 합니다.
- 포인트값은 member[mb_point] 에서, 자신의 보유 포인트의 0.1~10%로 지정해야함.
예) 현재 100,000점을 보유하고 있다면,
포인트값 최소 100~10,000점 범위 에서 지정해야함.
- 아래와 같이 글작성시 나타내어야함.
( ) 포인트 - 현재 100,000점 보유 / 100(0.1%) ~ 10,000(10%) 범위에서 지정 가능
( ) 포인트 - 현재 ""점 보유 / ""(""%) ~ ""(""%) 범위에서 지정 가능
+ 포인트 단위는 100점 단위로 입력 해야됩니다
* view에서는
- 자신의 글을 볼때엔 포인트 삭감 안되어야함.
- 상대방이 글을 볼때엔 보유포인트에서 위의글 포인트 착감되는 메시지를 나타내어야함.
예) "현재 25,000점 에서 5,000점 착감 되었습니다 (20,000점 남았습니다)"
"현재 ''점 에서 ''점 착감 되었습니다 (''점 남았습니다)"
- 만일 포인트가 모자 랐을겨우엔
예) "현재 4,500점 에서 500점 모자랍니다 글,볼수가 없습니다."
"현재 ''점 에서 ''점 모자랍니다 글,볼수가 없습니다."
* 착감된 포인트는 글쓴이의 포인트에 적립 되어야 합니다.
댓글 5개
지난번 레벨 설정하던 코드에서 좀 바꿔봤어요.. ^^
<?
$min_pct = 0.001; // 0.1%
$max_pct = 0.1; // 10%
$step = 100; // 100 단위로 점프
echo $member['mb_point']*$min_pct." -- ".$member['mb_point']*$max_pct."<br/>";
if($member['mb_point']*$max_pct < $step) { echo "포인트가 부족합니다.<br/>"; }
else {
echo "<select name='wr_2'>";
for ( $i=max($step, (int)($member['mb_point']*$min_pct/100)*100); $i<= ($member['mb_point']*$max_pct); $i=$i+$step ) {
echo "<option value='$i'>$i</option>";
}
echo "</select>";
}
?>
테스트 해보니 되긴 하는데, 점수가 큰 경우, select 의 옵션 수에 한계가 있어서 작동안 할 수 있습니다..
글읽을때 포인트 체크하고 포인트 차감하는 것은
if ($view['mb_id'] != $member['mb_id']) { // 자신이 쓴 글이 아니고
if ($view['wr_2'] && $member['mb_point'] - $view['wr_2'] < 0) { // 포인트가 모자라면
alert("현재 ".number_format($member[mb_point])." 점 에서 ".number_format($view['wr_2']-$member['mb_point'])." 점 모자라서 글을 볼수가 없습니다.");
} else {
echo "<script type='text/javascript'>";
echo "alert('"현재 ".number_format($member[mb_point])." 점 에서 ".number_format($view['wr_2'])." 점 착감 되었습니다 (".number_format($member[mb_point]-$view['wr_2'])."점 남았습니다)")';
echo "</script>";
insert_point($member['mb_id'], $view['wr_2'], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');
}
}
포인트 체크하는 것은 테스트 해보지는 못했네요.. ^^;
<?
$min_pct = 0.001; // 0.1%
$max_pct = 0.1; // 10%
$step = 100; // 100 단위로 점프
echo $member['mb_point']*$min_pct." -- ".$member['mb_point']*$max_pct."<br/>";
if($member['mb_point']*$max_pct < $step) { echo "포인트가 부족합니다.<br/>"; }
else {
echo "<select name='wr_2'>";
for ( $i=max($step, (int)($member['mb_point']*$min_pct/100)*100); $i<= ($member['mb_point']*$max_pct); $i=$i+$step ) {
echo "<option value='$i'>$i</option>";
}
echo "</select>";
}
?>
테스트 해보니 되긴 하는데, 점수가 큰 경우, select 의 옵션 수에 한계가 있어서 작동안 할 수 있습니다..
글읽을때 포인트 체크하고 포인트 차감하는 것은
if ($view['mb_id'] != $member['mb_id']) { // 자신이 쓴 글이 아니고
if ($view['wr_2'] && $member['mb_point'] - $view['wr_2'] < 0) { // 포인트가 모자라면
alert("현재 ".number_format($member[mb_point])." 점 에서 ".number_format($view['wr_2']-$member['mb_point'])." 점 모자라서 글을 볼수가 없습니다.");
} else {
echo "<script type='text/javascript'>";
echo "alert('"현재 ".number_format($member[mb_point])." 점 에서 ".number_format($view['wr_2'])." 점 착감 되었습니다 (".number_format($member[mb_point]-$view['wr_2'])."점 남았습니다)")';
echo "</script>";
insert_point($member['mb_id'], $view['wr_2'], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');
}
}
포인트 체크하는 것은 테스트 해보지는 못했네요.. ^^;
혹시 나중에 참조하실 분이 있을까봐, 글읽을때 포인트 차감하는 부분 오류고친것을 올립니다.
아, 그리고, 운영자는 제외된 조건 포함입니다.
if (!$is_admin && $view['mb_id'] != $member['mb_id']) { // 운영자아니고, 자신이 쓴 글도 아니면
if ($view['wr_2'] && $member['mb_point'] - $view['wr_2'] < 0) { // 포인트가 모자라면
alert("현재 ".number_format($member[mb_point])." 점 에서 ".number_format($view['wr_2']-$member['mb_point'])." 점 모자라서 글을 볼수가 없습니다.");
} else {
if ($view['wr_2']>0) {
// 차감하는 방식에 따라서 아래 세가지 중 하나 선택
$action = "읽기 사용자포인트 차감"; // 한번만 포인트 차감 적용..
// $action = "읽기 사용자포인트 차감 ".$g4[time_ymd]; // 하루에 한번만 적용
// $action = "읽기 사용자포인트 차감 ".$g4[time_ymdhis]; // (이론상으로) 매번 적용
$return = insert_point($member['mb_id'], -1*$view['wr_2'], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, $action);
if ($return>0) {
echo "<script type='text/javascript'>";
echo "alert('현재 ".number_format($member['mb_point'])." 점 에서 ".number_format($view['wr_2'])." 점 착감 되었습니다 (".number_format($member[mb_point]-$view['wr_2'])." 점 남았습니다)')";
echo "</script>";
}
}
}
}
아, 그리고, 운영자는 제외된 조건 포함입니다.
if (!$is_admin && $view['mb_id'] != $member['mb_id']) { // 운영자아니고, 자신이 쓴 글도 아니면
if ($view['wr_2'] && $member['mb_point'] - $view['wr_2'] < 0) { // 포인트가 모자라면
alert("현재 ".number_format($member[mb_point])." 점 에서 ".number_format($view['wr_2']-$member['mb_point'])." 점 모자라서 글을 볼수가 없습니다.");
} else {
if ($view['wr_2']>0) {
// 차감하는 방식에 따라서 아래 세가지 중 하나 선택
$action = "읽기 사용자포인트 차감"; // 한번만 포인트 차감 적용..
// $action = "읽기 사용자포인트 차감 ".$g4[time_ymd]; // 하루에 한번만 적용
// $action = "읽기 사용자포인트 차감 ".$g4[time_ymdhis]; // (이론상으로) 매번 적용
$return = insert_point($member['mb_id'], -1*$view['wr_2'], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, $action);
if ($return>0) {
echo "<script type='text/javascript'>";
echo "alert('현재 ".number_format($member['mb_point'])." 점 에서 ".number_format($view['wr_2'])." 점 착감 되었습니다 (".number_format($member[mb_point]-$view['wr_2'])." 점 남았습니다)')";
echo "</script>";
}
}
}
}
게시글 목록
| 번호 | 제목 |
|---|---|
| 284508 | |
| 284499 | |
| 284492 | |
| 284490 | |
| 284484 | |
| 284481 | |
| 284478 | |
| 284476 | |
| 284474 | |
| 284472 | |
| 284470 | |
| 284458 | |
| 284457 | |
| 284454 | |
| 284453 | |
| 284447 | |
| 284446 | |
| 284444 | |
| 284441 | |
| 284440 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기