테스트 사이트 - 개발 중인 베타 버전입니다

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년 전
근데
s_cart_id 값이 달라서 (orderform.sub.php 파일 과 cart.php 파일)
update 시켜주지 못합니다;;
균이
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);
l
lacomparte
7년 전
말씀해 주신대로 수정하니

바로구매 한뒤 취소하고
같은 상품을 장바구니에 담으니
DB상에서는 2개가 들어가 있네요 ㅎ
바로구매 했을 뒤 취소 된것 1개와 (ct_select = 1, ct_direct = 1)
장바구니에 넣은 것 1개(ct_select = 0, ct_direct = 0)

장바구니 보관시간을 설정해서
비워야 겠군요..

답변 감사드립니다 :D

댓글을 작성하려면 로그인이 필요합니다.

alert('이미 장바구니에 있는 상품입니다.', './cart.php');

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

l
lacomparte
7년 전
제가 여쭤본건..alert 띄우는 방법이 아닌..
주문서 작성 페이지에서 "취소" 클릭 했을 경우
1. cart 테이블에 해당 주문번호의 상품을 삭제하거나
2. 해당 사품의 ct_select 를 0 으로 만들어 주는 방법입니다..;

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인