채택완료

주문서엑셀저장 orderprintresult.php 질문합니다.

Copy
$data = array('우편번호', '주소','id', '이름', '전화1', '전화2', '상품명', '수량', '선택사항', '배송비', '상품코드', '주문번호', '운송장번호', '전하실말씀'); ......$worksheet->write($i, 0, $row['od_b_zip1'].'-'.$row['od_b_zip2']);        $worksheet->write($i, 1, print_address($row['od_b_addr1'], $row['od_b_addr2'], $row['od_b_addr3'], $row['od_b_addr_jibeon']));        $worksheet->write($i, 2, $row['mb_id']);		$worksheet->write($i, 3, $row['od_b_name']);        $worksheet->write($i, 4, ' '.$row['od_b_tel']);        $worksheet->write($i, 5, ' '.$row['od_b_hp']);        $worksheet->write($i, 6, $row['it_name']);        $worksheet->write($i, 7, $row['ct_qty']);        $worksheet->write($i, 8, $row['ct_option']);        $worksheet->write($i, 9, $ct_send_cost);        $worksheet->write($i, 10, ' '.$row['it_id']);        $worksheet->write($i, 11, ' '.$row['od_id']);        $worksheet->write($i, 12, $row['od_invoice']);        $worksheet->write($i, 13, $row['od_memo']);    }

위와같이 mb_id를 추가 했는데요...

엑셀에선 주문자 id가 출력안됩니다.

제가 잘못넣었나요?

|

답변 4개 / 댓글 2개

채택된 답변
+20 포인트

sql 문에 select 부분에 a.mb_id 를 추가해서 불러오셔야 합니다.

답변에 대한 댓글 1개

a.은 뭔가요?
// MS엑셀 XLS 데이터로 다운로드 받음
if ($csv == 'xls')
{
$fr_date = date_conv($fr_date);
$to_date = date_conv($to_date);

$sql = " SELECT a.od_id, od_b_zip1, od_b_zip2, od_b_addr1, od_b_addr2, od_b_addr3, od_b_addr_jibeon,mb_id, 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 ";

말씀하신 소스가 좀 이상하긴 하지만 switch 문으로는 안되구요.

엑셀에 출력하기 전에

Copy
if(empty($row['mb_id'])) $row['mb_id'] = '비회원';

이렇게 넣으면 원하시는 대로 출력이 될것 같습니다.

답변에 대한 댓글 1개

까막눈인저에게 엄청난고수시군요 ~~엄지 척=b
Copy
$sql = " SELECT a.md_id, a.od_id, od_b_zip1, od_b_zip2, od_b_addr1, od_b_addr2, od_b_addr3, od_b_addr_jibeon,mb_id, 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 ";

from 절에 보시면 {$g5['g5_shop_order_table']} a, {$g5['g5_shop_cart_table']} b  이렇게 되어있는데

주문테이블을 a, 장바구니 테이블을 b 라고 해서 두 테이블을 합쳐서 불러올때 저렇게 합니다.

Copy
$sql = " select SUM(IF(io_type = 1, (io_price * ct_qty), ((ct_price + io_price) * ct_qty))) as price,                            SUM(ct_qty) as qty                        from {$g5['g5_shop_cart_table']}                        where mb_id = '{$row['mb_id']}'";               $sum = sql_fetch($sql);             switch($row['mb_id'])            {                case 1:                    $ct_send_cost = '착불';                    break;                case 2:                    $ct_send_cost = '무료';                    break;                default:                    $ct_send_cost = '선불';                    break;            }

이부분을 수정하여 비회원일경우 [비회원]이라고 엑셀에 출력가능한가요?

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