KCP 창업 지원, 수수료 국내최저 2.9% 제공 이벤트!

cartupdate.php 주문하기 질문

그누보드5
영카트5
스터디
Q & A
제작의뢰
컨텐츠몰
부가서비스
소모임
커뮤니티
부가서비스
KCP 이벤트!
cartupdate.php 주문하기 질문

QA

cartupdate.php 주문하기 질문

본문

if($act == "buy")
{
    if(!count($_POST['ct_chk']))
        alert("주문하실 상품을 하나이상 선택해 주십시오.");

    // 선택필드 초기화
    $sql = " update {$g5['g5_shop_cart_table']} set ct_select = '0' where od_id = '$tmp_cart_id' ";
    sql_query($sql);

    $fldcnt = count($_POST['it_id']);
    for($i=0; $i<$fldcnt; $i++) {
        $ct_chk = $_POST['ct_chk'][$i];
        if($ct_chk) {
            $it_id = $_POST['it_id'][$i];

            // 본인인증, 성인인증체크
            if(!$is_admin) {
                $msg = shop_member_cert_check($it_id, 'item');
                if($msg)
                    alert($msg, G5_SHOP_URL);
            }

            

// 주문 상품의 재고체크
            $sql = " select b.it_2, b.it_soldout, a.it_name
                      from {$g5['g5_shop_cart_table']} a left join {$g5['g5_shop_item_table']} b on ( a.it_id = b.it_id )
                      where a.od_id = '$tmp_cart_id' "; 
            $result = sql_fetch($sql);


            if ($result['it_soldout'] == '1')
            {

                alert("주문하시려는 상품 중 품절인 상품이 있습니다.");
            }

            if ($result['it_2'] == '1')
            {

                alert("예약상품과 일반상품은 같이 주문하실 수 없습니다.");
            }

            $sql = " update {$g5['g5_shop_cart_table']}
                        set ct_select = '1',
                            ct_select_time = '".G5_TIME_YMDHIS."'
                        where od_id = '$tmp_cart_id'
                          and it_id = '$it_id' ";
            sql_query($sql);
        }
    }

    if ($is_member) // 회원인 경우
        goto_url(G5_SHOP_URL.'/orderform.php');
    else
        goto_url(G5_BBS_URL.'/login.php?url='.urlencode(G5_SHOP_URL.'/orderform.php'));
}

 

빨갛게 된 부분을 변경하였는데요

 

알러트가 잘 나오긴 하는데

 

조건에 맞는 상품이 아니더라도 무조건 알러트가 나오네요

 

뭐가 잘못된건가요? 

 

만들고 싶은 방향은 체크한 상품 중 $it_soldout이나 $it_2이 1인 상품이 있으면 알러트가 뜨면서 주문이 안되게 하는거에요

이 글을 내 페이스북 계정으로 보내기 이 글을 내 트위터 계정으로 보내기

이 질문에 댓글 쓰기 :

답변 2

채택됨

세크티님의 답변



$sql = " select b.it_2, b.it_soldout, a.it_name
                      from {$g5['g5_shop_cart_table']} a left join {$g5['g5_shop_item_table']} b on ( a.it_id = b.it_id )
                      where a.od_id = '$tmp_cart_id' ";
$result = sql_query($sql);

while ($row=sql_fetch_array($result)){
    if ($row['it_soldout'] == '1')
    {
        alert("주문하시려는 상품 중 품절인 상품이 있습니다.");
    }

    if ($row['it_2'] == '1')
    {
        alert("예약상품과 일반상품은 같이 주문하실 수 없습니다.");
    }
}


이렇게 바꿔보세요

주소복사
채택됨
답변의 댓글
블랑숑님의 댓글
너무 감사합니다 ㅠㅠ

근데 여전히 it_2가 1인 상품과 아닌 상품이 장바구니에 같이 있으면

it_2가 1이 아닌 상품만 체크해서 주문하면 주문이 되야 하는데 알러트가 뜨네요

it_2가 1인 상품이 없으면 주문이 잘 됩니다.

이것은 it_soldout도 동일하네요

블랑숑님의 답변


//장바구니 품절 및 예약 상품
            $sql = " select b.it_2, b.it_soldout, a.it_name
                                  from {$g5['g5_shop_cart_table']} a left join {$g5['g5_shop_item_table']} b on ( a.it_id = b.it_id )
                                  where a.od_id = '$tmp_cart_id' ";
            $result = sql_query($sql);
            while ($row=sql_fetch_array($result)){
                if ($row['it_soldout'] == '1')
                {
                    alert("주문하시려는 상품 중 품절인 상품이 있습니다.");
                }
                if ($row['it_2'] == '1' && $row['it_2'] == '')
                {
                    alert("예약상품과 일반상품은 같이 주문하실 수 없습니다.");
                }
            }

 

일단 it_2에 대한 조건문을 바꿔봤습니다.

 

it_soldout은 값이 1인게 하나라도 포함될 시 알러트가 뜨는거고

 

it_2는 1과 빈 것이 동시에 잡혔을 때 알러트가 떠야 하니까 바꾼거긴 한데

 

저렇게 바꾸니까 어떻게 주문하던 알러트가 안 뜨네요 ㅠㅠ

주소복사
답변의 댓글
답변을 작성하시기 전에 로그인 해주세요.
전체 12,739
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

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

© SIRSOFT