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

등업을 포인트건별로가 아닌, 특정포인트에 도달하면 권한을 올려주고 싶어요. 채택완료

메시아나 11년 전 조회 5,390

안녕http://하세요~ 오늘은 자동등업에 대해서 한가지만 여쭤보려고 합니다. 원래는 쫑곰이​님께서

'포인트 내역 갯수에 따라 자동등업하기' 입니다.

원문을 그대로 적어보자면

common.lib.php 소스 insert_point 에  auto_levle($mb_id) 부르고 

auto_level 함수를 추가합니다. 

현재 설정은 10개 단위로 레벨업을 시켰으며 switch 문을 수정하여 등업 조건을 설정할 수 있습니다. 

라고 나와있습니다...

 

common.lib.php에 , 소스코드를 넣어서, 다음과 같은 조건을 만들고 싶습니다...  ㅠ_ㅠ'

어려울지 모르겠지만... 혹시여러분들께서 도와주실까 싶어서요..

 

제가 원하는건, 포인트를 건별로가 아닌, 특정포인트에 도달하면 권한을 올려주는겁니다.

예를 들어서 설명 드리자면, 권한2의 회원이 포인트가 154만이 되면, 권한3으로 등업, (기존 154만 포인트삭감.)

권한3인 회원은 0점부터 시작, 이후 권한3의 회원이 포인트가 다시 154만이 되면, 권한4로 등업.

이런식으로... 해서 권한6까지만 올라가고, 이후부턴 포인트차감없이 그냥 계속 누적시키는것으로

만들고싶은데, 너무 관련지식이 없다보니 , 여러분들께 도움을 요청하고 싶어요.

 

아래 PHP파일은 :  http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=33483" target="_self">http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=33483http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=33483" target="_self">​

이곳에서 들고온 common_131216_rhm.lib.php (2.6K)​ 라는 파일입니다. (이걸 그대로 lib폴더에 넣는건 아닌거 같고

아래 코드 내용을 복사해서, common.lib.php 속에 넣어주는거 같아보여요..​

 

너무 터무니 없이 큰걸 여쭈어 보는건 아닌가 싶은데...ㅠ_ㅠ;

꼭 필요한 기능이라 , 염치불구하고, 이렇게 질문올립니다...도움 부탁드려요.

 

다운로드 받은 common_131216_rhm.lib.php 입니다.

</p><p><?</p><p>/*</p><p>* 자동등업 </p><p>* 포인트 부여 할 때 마다 자동 등업을 시켜줌</p><p>* 자동등업 조건 [포인트 내역 갯수 검사]</p><p>* added by 2013-12-16 by RHM <a href="<a href="http://blog.daum.net/hyemi1213/13" target="_blank" rel="noopener noreferrer">http://blog.daum.net/hyemi1213/13</a>"><a href="http://blog.daum.net/hyemi1213/13" target="_blank" rel="noopener noreferrer">http://blog.daum.net/hyemi1213/13</a></a></p><p>*/</p><p>// 포인트 부여</p><p>function insert_point($mb_id, $point, $content='', $rel_table='', $rel_id='', $rel_action='')</p><p>{</p><p>    global $config;</p><p>    global $g4;</p><p>    global $is_admin;</p><p> </p><p>    // 포인트 사용을 하지 않는다면 return</p><p>    if (!$config[cf_use_point]) { return 0; }</p><p> </p><p>    // 포인트가 없다면 업데이트 할 필요 없음</p><p>    if ($point == 0) { return 0; }</p><p> </p><p>    // 회원아이디가 없다면 업데이트 할 필요 없음</p><p>    if ($mb_id == "") { return 0; }</p><p>    $mb = sql_fetch(" select mb_id from $g4[member_table] where mb_id = '$mb_id' ");</p><p>    if (!$mb[mb_id]) { return 0; }</p><p> </p><p>    // 이미 등록된 내역이라면 건너뜀</p><p>    if ($rel_table || $rel_id || $rel_action)</p><p>    {</p><p>        $sql = " select count(*) as cnt from $g4[point_table]</p><p>                  where mb_id = '$mb_id'</p><p>                    and po_rel_table = '$rel_table'</p><p>                    and po_rel_id = '$rel_id'</p><p>                    and po_rel_action = '$rel_action' ";</p><p>        $row = sql_fetch($sql);</p><p>        if ($row[cnt])</p><p>            return -1;</p><p>    }</p><p> </p><p>    // 포인트 건별 생성</p><p>    $sql = " insert into $g4[point_table]</p><p>                set mb_id = '$mb_id',</p><p>                    po_datetime = '$g4[time_ymdhis]',</p><p>                    po_content = '".addslashes($content)."',</p><p>                    po_point = '$point',</p><p>                    po_rel_table = '$rel_table',</p><p>                    po_rel_id = '$rel_id',</p><p>                    po_rel_action = '$rel_action' ";</p><p>    sql_query($sql);</p><p> </p><p>    // 포인트 내역의 합을 구하고</p><p>    $sql = " select sum(po_point) as sum_po_point from $g4[point_table] where mb_id = '$mb_id' ";</p><p>    $row = sql_fetch($sql);</p><p>    $sum_point = $row[sum_po_point];</p><p> </p><p>    // 포인트 UPDATE</p><p>    $sql = " update $g4[member_table] set mb_point = '$sum_point' where mb_id = '$mb_id' ";</p><p>    sql_query($sql);</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre">	</span>auto_level($mb_id); // 포인트 내역에 따른 자동 등업</p><p>    return 1;</p><p>}</p><p> </p><p>// 포인트 내역에 따른 자동 등업  added by 2013-12-16 by RHM <a href="<a href="http://blog.daum.net/hyemi1213/13" target="_blank" rel="noopener noreferrer">http://blog.daum.net/hyemi1213/13</a>"><a href="http://blog.daum.net/hyemi1213/13" target="_blank" rel="noopener noreferrer">http://blog.daum.net/hyemi1213/13</a></a></p><p>function auto_level($mb_id) {</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$point = sql_fetch("SELECT count(*) as cnt FROM $g4[point_table] where mb_id = '$mb_id' ");</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre">	</span>switch ($point[cnt]/10) {<span class="Apple-tab-span" style="white-space:pre">		</span>// 10 개단위로 레벨업</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>case 0: case 1:<span class="Apple-tab-span" style="white-space:pre">		</span>//19개 까지는 level 1</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>$level = '1';</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>break;</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>case 2: case 3:<span class="Apple-tab-span" style="white-space:pre">		</span>//39개 까지는 level 2</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>$level = '2';</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>break;</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>case 4: case 5:<span class="Apple-tab-span" style="white-space:pre">		</span>//59개 까지는 level 3</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>$level = '3';</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>break;</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>default:</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>$level = '1';</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>break;</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>}</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$sql = "UPDATE $g4[member_table] set mb_level = '$mb_levle' where mb_id = '$mb_id' ";</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>sql_query($sql);</p><p>}</p><p>?> </p><p>

 

원본 common.lib.php 부분에서 위 소스코드와 비슷한 문장이 있는부분만 복사 붙여넣기 했습니다

</p><p>// 포인트 부여</p><p>function insert_point($mb_id, $point, $content='', $rel_table='', $rel_id='', $rel_action='')</p><p>{</p><p>    global $config;</p><p>    global $g4;</p><p>    global $is_admin;</p><p> </p><p>    // 포인트 사용을 하지 않는다면 return</p><p>    if (!$config[cf_use_point]) { return 0; }</p><p> </p><p>    // 포인트가 없다면 업데이트 할 필요 없음</p><p>    if ($point == 0) { return 0; }</p><p> </p><p>    // 회원아이디가 없다면 업데이트 할 필요 없음</p><p>    if ($mb_id == "") { return 0; }</p><p>    $mb = sql_fetch(" select mb_id from $g4[member_table] where mb_id = '$mb_id' ");</p><p>    if (!$mb[mb_id]) { return 0; }</p><p> </p><p>    // 이미 등록된 내역이라면 건너뜀</p><p>    if ($rel_table || $rel_id || $rel_action)</p><p>    {</p><p>        $sql = " select count(*) as cnt from $g4[point_table]</p><p>                  where mb_id = '$mb_id'</p><p>                    and po_rel_table = '$rel_table'</p><p>                    and po_rel_id = '$rel_id'</p><p>                    and po_rel_action = '$rel_action' ";</p><p>        $row = sql_fetch($sql);</p><p>        if ($row[cnt])</p><p>            return -1;</p><p>    }</p><p> </p><p>    // 포인트 건별 생성</p><p>    $sql = " insert into $g4[point_table]</p><p>                set mb_id = '$mb_id',</p><p>                    po_datetime = '$g4[time_ymdhis]',</p><p>                    po_content = '".addslashes($content)."',</p><p>                    po_point = '$point',</p><p>                    po_rel_table = '$rel_table',</p><p>                    po_rel_id = '$rel_id',</p><p>                    po_rel_action = '$rel_action' ";</p><p>    sql_query($sql);</p><p> </p><p>    // 포인트 내역의 합을 구하고</p><p>    $sql = " select sum(po_point) as sum_po_point from $g4[point_table] where mb_id = '$mb_id' ";</p><p>    $row = sql_fetch($sql);</p><p>    $sum_point = $row[sum_po_point];</p><p> </p><p>    // 포인트 UPDATE</p><p>    $sql = " update $g4[member_table] set mb_point = '$sum_point' where mb_id = '$mb_id' ";</p><p>    sql_query($sql);</p><p> </p><p>    return 1;</p><p>} </p><p>

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

답변 1개

채택된 답변
+20 포인트

답변에 대한 댓글 1개

메시아나
11년 전
아... 자동등업은 있는데; 그럼 등업이후에 포인트 차감은 어떻게 하죠...ㅠ_ㅠ;;

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

답변을 작성하려면 로그인이 필요합니다.

로그인