채택완료

ct_option에 저장된 옵션명을 그대로 주문내역출력을 하려면

2018-12-19 (수) 09:45:08 2,630

g5_shop_cart 테이블에서 ct_option에 저장된 옵션명을 orderprintresult.php 에서 주문내역 출력을

해야됩니다.

ct_option 에 주문한 옵션을 저장할때 여분필드의 내용을 같이 저장하여서(여분필드내용+선택한옵션)

상품의 선택옵션 내용과 주문한 ct_option 내용이 달라서 그런지 주문내역출력에서 선택옵션 내용이 보이지 않습니다.

orderprintresult.php 파일내용을 보니 b.ct_option 처럼 ct_option 앞에 b가 붙어있는데요.

b는 어떤 작동을 하는 것인가요?

g5_shop_cart 테이블에서 ct_option에 저장된 옵션명을 그대로 주문내역출력(xls 엑셀출력)을 하려면

어떻게해야 될까요?

    $sql = " SELECT a.od_id, od_b_zip1, od_b_zip2, od_b_addr1, od_b_addr2, od_b_addr3, od_b_addr_jibeon, od_b_name, od_b_tel, od_b_hp, b.it_name, ct_qty, b.it_id, a.od_id, od_memo, od_invoice, b.ct_option, b.ct_send_cost, b.it_sc_type
               FROM {$g5['g5_shop_order_table']} a, {$g5['g5_shop_cart_table']} b
              where a.od_id = b.od_id ";

|

답변 1개 / 댓글 6개

채택된 답변
+20 포인트
2018-12-19 (수) 10:10:42

FROM {$g5['g5_shop_order_table']} a, {$g5['g5_shop_cart_table']} b
              where a.od_id = b.od_id ";

쿼리에서 a는 주문정보 테이블 b는 카트 즉 상품정보가 담긴 테이블을 같이 쿼리하는데 조건이

a 의 주문아이디 즉 od_id 와 b의 od_id 가 같아야 같은 주문정보의 상품입니다.

해당 쿼리로 루프를 한다면 

$row['ct_option'] 이것이 옵션입니다.

답변에 대한 댓글 6개

그리고 orderprintresult.php 를 확인해보니
219 라인에

$worksheet->write($i, 7, $row['ct_option']);
있는데 출력이 안되나요?
영카트5에서 엑셀로 출력해 보니 선택사항에 출력이 되고 있네요..
유찬아빠님 답변 감사드려요.
shop.override.js에서
opt += "<input type=\"hidden\" name=\"io_value["+item_code+"][]\" value=\""+it_1_subj+":"+it_1+" / "+option+"\">";
이런식으로 강제로 it_1_subj,it_1 값을 옵션에 집어 넣습니다.
이렇게 처리한 주문 상품은 주문내역출력에서 선택사항에 아무런 내용도 출력이 안되는데,
원인을 알 수 있을까요?
해당 추가 하신 내용이 디비에 즉 카트 테이블에는 들어가나요?
줄력이 않된다면 디비에 적용이 않되고 있다는 것으로 추정되는데요?
ct_option과 io_id 내용이 달라서 그런 것 같습니다.
ct_option과 io_id 내용이 같은지 검토하는 것 같은데,
이 과정을 건너뛰게 하려면 어떻게하면 될까요?
건너뛰게 되면 문제가 발생할 수 있나요?
ct_option과 io_id 내용이 달라도 같은 주문번호라면 나와야 하는게 맞습니다.
디비에 입력된 내용을 살펴야 할듯합니다.
같은 상품에 옵션을 다르게 해서 카트에 넣어보시고 디비에 내용을 살펴보세요

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