p

레벨에 따라 얻는 포인트 다르게 할 수 있나요?

예를 들어 레벨 2의 회원이 글을 썼을때 20포인트 얻는다면
레벨 3의 회원이 글을쓰면 50포인트 얻게끔..
 
가능할까요?
|

댓글 11개

아래 함수를 변형하면 가능합니다.

function insert_point($mb_id, $point, $content='', $rel_table='', $rel_id='', $rel_action='')
{
global $config;
global $g4;
global $is_admin;

// 포인트 사용을 하지 않는다면 return
if (!$config[cf_use_point]) { return 0; }

// 포인트가 없다면 업데이트 할 필요 없음
if ($point == 0) { return 0; }

// 회원아이디가 없다면 업데이트 할 필요 없음
if ($mb_id == "") { return 0; }
$mb = sql_fetch(" select mb_id from $g4[member_table] where mb_id = '$mb_id' ");
if (!$mb[mb_id]) { return 0; }

// 이미 등록된 내역이라면 건너뜀
if ($rel_table || $rel_id || $rel_action)
{
$sql = " select count(*) as cnt from $g4[point_table]
where mb_id = '$mb_id'
and po_rel_table = '$rel_table'
and po_rel_id = '$rel_id'
and po_rel_action = '$rel_action' ";
$row = sql_fetch($sql);
if ($row[cnt])
return -1;
}

// 포인트 건별 생성
$sql = " insert into $g4[point_table]
set mb_id = '$mb_id',
po_datetime = '$g4[time_ymdhis]',
po_content = '".addslashes($content)."',
po_point = '$point',
po_rel_table = '$rel_table',
po_rel_id = '$rel_id',
po_rel_action = '$rel_action' ";
sql_query($sql);

// 포인트 내역의 합을 구하고
$sql = " select sum(po_point) as sum_po_point from $g4[point_table] where mb_id = '$mb_id' ";
$row = sql_fetch($sql);
$sum_point = $row[sum_po_point];

// 포인트 UPDATE
$sql = " update $g4[member_table] set mb_point = '$sum_point' where mb_id = '$mb_id' ";
sql_query($sql);

return 1;
}
위 구문 변수중 $point 이부분을 회원 레벨가 비교해서 하시면 됩니다.

예)

=========================================================================
$sql = " select * from g4_member where mb_id = '$mb_id' ";
foreach ($sql as $row){

$mb_level = $row[mb_level];
$set_point = $mb_level*1.2 ; // 레벨별 추가 20% 증대한다. 즉 3등급은 60% 추가지급
$point = $point*$set_point;

}

위 구문을 적당한 곳에 삽입하시면 될거 같습니다.

설명

1. 접속한 회원의 레벨을 일단 불러옵니다.

$sql = " select * from g4_member where mb_id = '$mb_id' ";

2. 회원레벨에 적용하고 싶은 조건을 설정합니다.

$mb_level = $row[mb_level];
$set_point = $mb_level*1.2 ; // 요기에 적용하고 싶은....

3. 아래에 적용된 변수명으로 원위치 시킵니다.

$point = $point*$set_point;


전 안해봤습니다.
답변감사합니다!그런데..무슨 파일을 수정해야하나요?
=====================================================
예를 들어 레벨 2의 회원이 글을 썼을때 20포인트 얻는다면
레벨 3의 회원이 글을쓰면 50포인트 얻게끔..
=====================================================

^^ 질문이 이거 아니었던가요.? 포인트를 등급별레벨에 적용....
insert_point() <<--- 이 함수를 변형하는거고요.
$point <<--- 등급에 맞게끔 변수를 둘려면 요거를 조정해야 되거둥요.

등급별 포인트 적용율을 차등 .....

$mb_level = $row[mb_level];
$set_point = $mb_level*1.2 ; // 레벨별 추가 20% 증대한다. 즉 3등급은 60% 추가지급
$point = $point*$set_point;
$sql = " select * from g4_member where mb_id = '$mb_id' ";
foreach ($sql as $row){

$mb_level = $row[mb_level];
$set_point = $mb_level*1.2 ; // 레벨별 추가 20% 증대한다. 즉 3등급은 60% 추가지급
$point = $point*$set_point;

}

이걸..

// 포인트 UPDATE
$sql = " update $g4[member_table] set mb_point = '$sum_point' where mb_id = '$mb_id' ";
sql_query($sql);

이 함수 밑에 넣었더니...

에러가 납니다..

foreach ($sql as $row){ <--이부분에서 에러가 나는듯한데..ㅠㅠ
$sql = " select * from g4_member where mb_id = '$mb_id' ";
-----------------------------------------------------
$result = sql_fetch($sql) // <<----------누락 &#46124;습니당.
------------------------------------------------------
foreach ($result as $row){

=====================================================

제가 사용하는 코드만 생각을 했기때문에.ㅠㅠ
$result = sql_fetch($sql)

요걸 넣는 순간 ....화면이 하얗게 되고...여전히

foreach ($result as $row){ <-이 라인에서 에러가 난다고 나오네요..

에휴,,한번에 해결하면 좋을텐데..뮤죤님넘 미안합니다..
호호호 그러게요... 그렇다고 제가 쓰는 방식으로 할려면 쩝..봅잡해 지구..

안되면.. while 구문으로 돌리세요... foreach <<--- php5 에서만 작동되나 몰겠네요.

while 구문으로 바꺼서 해보세요..


^^ 유저님께서 완성 되세면 공개좀 부탁해용. ㅎㅎ 저도 덕좀 보게용.. ^^
이거 아마 저말고 필요한 사람 많을텐데 잘 되면 공개 해보겠습니다~
$sub_sql = " select * from g4_member where mb_id = '$mb_id' ";
while ($data = sql_fetch_array($sub_sql))
{

$mb_level = $data[mb_level];
$count = '2';
$set_point = $mb_level*$count ; // 레벨별 추가 20% 증대한다. 즉 3등급은 60% 추가지급
$point = $point*$set_point;
}


에공 왜 안되징..
에러는 없어졌는데..포인트는 아무변화가 없네요..



http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=8261&page=

여기 소스를 이용하면 가능할까요? 라고 한번 생각해봤는데;;
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

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

+
제목 글쓴이 날짜 조회
19년 전 조회 1,898
19년 전 조회 1,569
19년 전 조회 1,876
19년 전 조회 1,886
19년 전 조회 1,678
19년 전 조회 1,511
19년 전 조회 1,524
19년 전 조회 1,534
19년 전 조회 1,708
19년 전 조회 1,598
19년 전 조회 1,670
19년 전 조회 1,702
19년 전 조회 1,504
19년 전 조회 2,009
19년 전 조회 2,203
19년 전 조회 1,562
19년 전 조회 4,028
19년 전 조회 1,422
19년 전 조회 1,604
19년 전 조회 1,525
🐛 버그신고