ct_select 질문입니다~ 채택완료
lacomparte
7년 전
조회 3,239
기본적으로 저는 장바구니에
담긴 상품은 또 담지 못하게 alert 을 띄우고 있는데요
예) 이미 장바구니에 있는 상품입니다.
상품페이지에서
바로구매시 ct_select 가 1이 되는데,
이때 주문서 작성 페이지에서 취소를 누르게 될 경우
ct_select 가 1로 유지된채 history.go(-1) 이 됩니다.
cart.php 에서는 ct_select 가 0인것만 od_id 를 $s_cart_id 로 업데이트
시켜주고 있기 때문에
실상 장바구니에 가면 구매하기를 눌렀던 상품이 없는 사태가 발생합니다.
게다가
다시 장바구니에 넣으려고 하면
이미 장바구니에 있는 상품입니다 라는 alert 이 노출되구요..
해결책은
주문서 작성 페이지에서
"취소" 를 클릭 했을경우
1. cart 테이블에 해당 주문번호의 상품을 삭제하거나..
2. 해당 상품의 ct_select 를 0 으로 만들어주거나...
둘 중 하나인데..
취소 클릭시
쿼리를 보내야 하는데
감이 안잡혀 질문드립니다 ㅠㅠ
어떤 해결책이 있을까요?ㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
7년 전
history.go(-1)대신 cart.php로 링크를 변경해보세요
ct_select 를 0 으로 <-- 이 코드는 필요한 곳에 모두 들어잇습니다
history.go(-1)하니 실행되지않는 것일 뿐....
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
l
lacomparte
7년 전
�
균이
7년 전
cart.php를 아래처럼 수정해주세요
// 선택필드 초기화
$ss_cart_id = get_session('ss_cart_direct');
$sql = " update {$g5['g5_shop_cart_table']} set ct_select = '0' where od_id = '$s_cart_id' or od_id='$ss_cart_id' ";
sql_query($sql);
// 선택필드 초기화
$ss_cart_id = get_session('ss_cart_direct');
$sql = " update {$g5['g5_shop_cart_table']} set ct_select = '0' where od_id = '$s_cart_id' or od_id='$ss_cart_id' ";
sql_query($sql);
l
lacomparte
7년 전
말씀해 주신대로 수정하니
바로구매 한뒤 취소하고
같은 상품을 장바구니에 담으니
DB상에서는 2개가 들어가 있네요 ㅎ
바로구매 했을 뒤 취소 된것 1개와 (ct_select = 1, ct_direct = 1)
장바구니에 넣은 것 1개(ct_select = 0, ct_direct = 0)
장바구니 보관시간을 설정해서
비워야 겠군요..
답변 감사드립니다 :D
바로구매 한뒤 취소하고
같은 상품을 장바구니에 담으니
DB상에서는 2개가 들어가 있네요 ㅎ
바로구매 했을 뒤 취소 된것 1개와 (ct_select = 1, ct_direct = 1)
장바구니에 넣은 것 1개(ct_select = 0, ct_direct = 0)
장바구니 보관시간을 설정해서
비워야 겠군요..
답변 감사드립니다 :D
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
s_cart_id 값이 달라서 (orderform.sub.php 파일 과 cart.php 파일)
update 시켜주지 못합니다;;