추천인 적립금 질문드립니다 정보
추천인 적립금 질문드립니다본문
안녕하세요
작업하다가 궁금한게있어서 질문드립니다.
회원가입할때 추천인을 적게하면 추천받은 사람에게 일정 포인트를 주게되어있는데
그냥 회원가입할때 한번만 추천받은사람에게 포인트를 주는것이 아니라
추천한사람이 활동을 하면서 획득하는 포인트가 생길때마다
추천받은사람에게 자동으로 일정 포인트를 적립되게 해주고싶습니다.
예를들어서
글쓴사람에게 포인트 1,000점을 주면
글쓴이가 추천한사람에게도 200점을 준다거나
1,000점으로 표시되었지만 글쓴사람에게는 800포인트가 가고
추천받은사람에게는 200포인트가 가게하는거~ 이런식으로 가능한지...
어디를 수정해야하고 어떤방법이 있는지 너무 궁금합니다.
하루종일 뒤지고 수정해보고해도 안되서 이렇게 질문드립니다.
답변주시면 너무 너무 감사하겠습니다.~~~~
댓글 전체
그누보드 포인트는 모두
common.lib.php 에
insert_point 펑션을 사용합니다.
insert_point 펑션 안에 point insert 할때 인설트 되는 회원의 추천인을 불러와 같이
포인트가 입력되겠금하면 한번에 처리될듯싶내요
common.lib.php 에
insert_point 펑션을 사용합니다.
insert_point 펑션 안에 point insert 할때 인설트 되는 회원의 추천인을 불러와 같이
포인트가 입력되겠금하면 한번에 처리될듯싶내요
lib 디렉토리내에 common.lib.php파일을 열고
insert_point 펑션부분에서
//포인트건별생성
~
return 1;
이 부분을 아래로 대체해주세요
$sql = " select mb_recommend from $g4[member_table] where mb_id = '$mb_id' ";
$row = sql_fetch($sql);
$mb_recommend_id = $row[mb_recommend];
$point_1 = $point;
if($mb_recommend_id){ //추천인이 있다면
$point_1 = round($point * 7 / 10) ; //반올림, 비율정해줍니다.
$point_2 = $point - $point_1;
// 포인트 건별 생성 ===== 추천인 적립부분
$sql = " insert into $g4[point_table]
set mb_id = '$mb_recommend_id',
po_datetime = '$g4[time_ymdhis]',
po_content = '[$mb_id 추천]".addslashes($content)."',
po_point = '$point_2',
po_rel_table = '$rel_table',
po_rel_id = '$mb_recommend_id',
po_rel_action = '[$mb_id 추천]$rel_action' ";
sql_query($sql);
// 포인트 내역의 합을 구하고
$sql = " select sum(po_point) as sum_po_point from $g4[point_table] where mb_id = '$mb_recommend_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_recommend_id' ";
sql_query($sql);
}
// 포인트 건별 생성 ===== 본인 적립부분
$sql = " insert into $g4[point_table]
set mb_id = '$mb_id',
po_datetime = '$g4[time_ymdhis]',
po_content = '".addslashes($content)."',
po_point = '$point_1',
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;
테스트해봤습니다 잘되요^^
비율따라 반올림하고 총적림금에서 빼는방식으로 해서
만약 비율이 8:2라고하면
적립금1일때 본인1, 추천인0이고
적립금 2일때 본인2, 추천인0이되고
적립금 3일때 본인2, 추천인1이 주어지네요
insert_point 펑션부분에서
//포인트건별생성
~
return 1;
이 부분을 아래로 대체해주세요
$sql = " select mb_recommend from $g4[member_table] where mb_id = '$mb_id' ";
$row = sql_fetch($sql);
$mb_recommend_id = $row[mb_recommend];
$point_1 = $point;
if($mb_recommend_id){ //추천인이 있다면
$point_1 = round($point * 7 / 10) ; //반올림, 비율정해줍니다.
$point_2 = $point - $point_1;
// 포인트 건별 생성 ===== 추천인 적립부분
$sql = " insert into $g4[point_table]
set mb_id = '$mb_recommend_id',
po_datetime = '$g4[time_ymdhis]',
po_content = '[$mb_id 추천]".addslashes($content)."',
po_point = '$point_2',
po_rel_table = '$rel_table',
po_rel_id = '$mb_recommend_id',
po_rel_action = '[$mb_id 추천]$rel_action' ";
sql_query($sql);
// 포인트 내역의 합을 구하고
$sql = " select sum(po_point) as sum_po_point from $g4[point_table] where mb_id = '$mb_recommend_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_recommend_id' ";
sql_query($sql);
}
// 포인트 건별 생성 ===== 본인 적립부분
$sql = " insert into $g4[point_table]
set mb_id = '$mb_id',
po_datetime = '$g4[time_ymdhis]',
po_content = '".addslashes($content)."',
po_point = '$point_1',
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;
테스트해봤습니다 잘되요^^
비율따라 반올림하고 총적림금에서 빼는방식으로 해서
만약 비율이 8:2라고하면
적립금1일때 본인1, 추천인0이고
적립금 2일때 본인2, 추천인0이되고
적립금 3일때 본인2, 추천인1이 주어지네요
본인7 추천인3이라면
$point_1 = round($point * 7 / 10) ; //반올림, 비율정해줍니다.
본인8 추천인2라면
$point_1 = round($point * 8 / 10) ; //반올림, 비율정해줍니다.
본인9 추천인1라면
$point_1 = round($point * 9 / 10) ; //반올림, 비율정해줍니다.
$point_1 = round($point * 7 / 10) ; //반올림, 비율정해줍니다.
본인8 추천인2라면
$point_1 = round($point * 8 / 10) ; //반올림, 비율정해줍니다.
본인9 추천인1라면
$point_1 = round($point * 9 / 10) ; //반올림, 비율정해줍니다.
추천인의 추천인한테는 안 주나요?
글은 삭제하면 포인트가 회수되는데 이 경우 추천인의 포인트도 회수하나요?
글은 삭제하면 포인트가 회수되는데 이 경우 추천인의 포인트도 회수하나요?
답변 너무 감사드리구요
적용해보니까 되기는 하는데 추천받은 사람한테는 정확하게 2/8비율로 20%가 지급이되는데
추천한사람한테도 자동으로 원래 지금되는거하고 추천받은사람한테 지금되는거하고 동시에 지급이 되네요
(예: 1,000점을 줄경우)
: 추천받은사람 - 200점 (정상적으로 지급됨)
: 추천한사람 - 1,000점 + 800점 이렇게 지금됩니다.(합이 800점이 되어야하는데 1,800점이 되네요)
어디를 다시 수정해야하는지... 부탁드립니다.
적용해보니까 되기는 하는데 추천받은 사람한테는 정확하게 2/8비율로 20%가 지급이되는데
추천한사람한테도 자동으로 원래 지금되는거하고 추천받은사람한테 지금되는거하고 동시에 지급이 되네요
(예: 1,000점을 줄경우)
: 추천받은사람 - 200점 (정상적으로 지급됨)
: 추천한사람 - 1,000점 + 800점 이렇게 지금됩니다.(합이 800점이 되어야하는데 1,800점이 되네요)
어디를 다시 수정해야하는지... 부탁드립니다.
이상하네요.. 다시해봐도 저는 잘되는데....
혹시 페이지가 두번 불려오지는 않나요??
그 페이지에
echo "<script>alert('ha');</script>";
삽입해서.. 두번불려지는지 확인해보세요..
혹시 페이지가 두번 불려오지는 않나요??
그 페이지에
echo "<script>alert('ha');</script>";
삽입해서.. 두번불려지는지 확인해보세요..
그리고 만약 추천한 사람의 포인트를 없애면 추천받은사람에게 포인트가 그대로 남아있는데 이부분 다시 포인트 삭제하는 방법도 부탁드립니다~~~