버튼 누르면 포인트가 감소되는 기능구현을 도와주세요 ㅠㅠ > 그누4 질문답변

그누4 질문답변

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

버튼 누르면 포인트가 감소되는 기능구현을 도와주세요 ㅠㅠ 정보

버튼 누르면 포인트가 감소되는 기능구현을 도와주세요 ㅠㅠ

본문

초보 또 질문하나 올립니다!!

<table width="100%" border="0" cellspacing="0" cellpadding="5">
          <tr>
            <td height="70" align="center"><a href="javascript:f_btn()"><img src="/com123/images/btn_15.gif" width="80" height="30" border="0" align="absbottom" /></a></td>
          </tr>
        </table>


새로만든 페이지에서 버튼을 누르면 <a href="javascript:f_btn()">이것이 실행됩니다.(윗부분)

이 때 포인트도 함께 !! 감소하게 하고 싶습니다. 아래는 검색하여 얻은 a 문자를 클릭 시 포인트가 감소되는 소스와 방법을 나타낸 것인데요. 이 것을 버튼을 클릭할때 똑같이 감소하게 하려면 어떻게 수정 해야할까요? 위의것과 아래의 것을 섞으려니 너무 어렵습니다. 결국 이래저래 해보다가 잘 안되서 질문드립니다. ㅠㅠ (버튼 누를때마다 감소해야합니다.) 그리고 이 내용은 관리자페이지의 포인트관리에 나타나게 못하는건가요?

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

point_1.php 란 파일 만듭니다.
<?
include_once("./_common.php"_;

if ($member[mb_point] < 30)
  alert ("보유하신 포인트(".number_format($member[mb_point]).")가 부족합니다. 포인트를 적립하신 후 다시 실행해 주십시오.");

$point = "-30"; // 차감할 포인트 (-숫자)
insert_point($member[mb_id], $point, "포인트 차");
alert_close("차감 완료");
?>

그리고
<a href="point_1.php" target="_blank">a</a>

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

댓글 전체

한번은 차감되지 않던가요?
포인트 입력시 같은 값을 던져주면 중복처리되어 넘깁니다.

// 이미 등록된 내역이라면 건너뜀
    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;
    }

클릭할때 마다 감소라고 하셨는데

// 포인트 부여
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;
}

이 fucntion 을 하나 더 복사해서 insert_point2(~~~) 등으로 처리하고 중복 적용 삭제하고 적용하세요
point_1.php 그대로 쓰시면 됩니다.


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

f_btn()
기능안에 다른것이 적용되셨다면 그 아래 새창으로 point_1.php 를 띄우세요
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT