고수님들의 조언을 구합니다..!

고수님들의 조언을 구합니다..!

QA

고수님들의 조언을 구합니다..!

본문

2039367193_1672209142.1536.png

 

구현하려는 인터페이스는 대략 보시는 바와 같습니다.

하트 버튼을 누르면 관심상품으로 등록이 되고,

재차 누르면 해제되는 식으로 만들고 싶습니다.

 

리다이렉션을 처리할 페이지는 따로 만들어 놓기는 했는데..

허접한 제가 봐도 이 기능은 ajax로 호출하는 식으로 구현해야 할 거 같아 도저히 감이 안잡히네요.

회원님들이라면 어떤 방식으로 기능을 만드실 것 같나요?

저는 우선 veiw.skin.php에 있는 스크랩 기능을 활용해볼까.. 고민중입니다.

 

저것만 구현하면 웹앱의 기능부는 사실상 완성되는 셈인데..

마지막 관문이 너무 어렵네요 ㅠㅠㅠㅠ

이 질문에 댓글 쓰기 :

답변 2


<button type="button" class="btn_wish" data-it_id="{$row['it_id']}"><span class="sound_only">위시리스트</span><i class="fa fa-heart-o" aria-hidden="true"></i></button>

 


<script>
    $(".btn_wish").on("click", function() {
        var it_id = $(this).data("it_id");
        if(!it_id) {
            alert("상품코드가 올바르지 않습니다.");
            return false;
        }
        $.post(
           "./ajax.wish_update.php",
            { it_id: it_id },
            context : this,
            function(error) {
                if(error != "OK") {
                    alert(error.replace(/\\n/g, "\n"));
                    return false;
                }
                                
                alert("상품을 위시리스트에 담았습니다.");
                $(this).find('.fa').removeClass('fa-heart-o').addClass('fa-heart');
                return;
            }
        );
    });
</script>

 


$it_id = isset($_POST['it_id']) ? safe_replace_regex($_POST['it_id'], 'it_id') : '';
if (!$is_member)
  die('회원 전용 서비스 입니다.');
if(!$it_id)
  die('상품 코드가 올바르지 않습니다.');
// 상품정보 체크
$row = get_shop_item($it_id, true);
if(!$row['it_id'])
  die('상품정보가 존재하지 않습니다.');
$sql = " select wi_id from {$g5['g5_shop_wish_table']}
        where mb_id = '{$member['mb_id']}' and it_id = '$it_id' ";
$row = sql_fetch($sql);
if (! (isset($row['wi_id']) && $row['wi_id'])) {
  $sql = " insert {$g5['g5_shop_wish_table']}
              set mb_id = '{$member['mb_id']}',
                  it_id = '$it_id',
                  wi_time = '".G5_TIME_YMDHIS."',
                  wi_ip = '".$_SERVER['REMOTE_ADDR']."' ";
  sql_query($sql);
  die('OK');
} else {
  die('위시리스트에 이미 등록된 상품입니다.');
}

ajax로 처리하는 게 제일 무난합니다.

view.php의 좋아요 기능을 확인해 보세요.

답변을 작성하시기 전에 로그인 해주세요.
전체 10
QA 내용 검색

회원로그인

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