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("예약상품과 일반상품은 같이 주문하실 수 없습니다.");
}
}
이렇게 바꿔보세요
!-->
//장바구니 품절 및 예약 상품
$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과 빈 것이 동시에 잡혔을 때 알러트가 떠야 하니까 바꾼거긴 한데
저렇게 바꾸니까 어떻게 주문하던 알러트가 안 뜨네요 ㅠㅠ
!-->