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

주문 여분 필드 추가 후, 주문내역출력에서 엑셀scv 출력시 열 지정 문제 채택완료

하바르 2년 전 조회 1,890

안녕하세요~ 
초보지만 하나씩 찾아가면서 영카트로 쇼핑몰을 제작하고 있습니다. 

 

설치정보는 다음과 같습니다.
그누보드5 버전 5.5.8.3.2
이윰빌더 버전 4.6.5
적용중인 테마명 eb4_basic

 

1. phpMyAdmin을 통해서 g5_shop_order에 진입 후, 주문 여분 필드를 추가하였습니다. 코드는 od_b_uni (개인통과고유부호)로 지정.
2. 추가한 필드 정보는, DB, 주문하기, 관리자, 주문내역 엑셀다운에 모두 정상적으로 실행됨.

 

3. 그러나, od_b_uni 데이터가 주문내역출력에서 형식을 xls로 지정하고 출력시 od_b_uni 항목의 열에 출력되는데(지정된 열에 정상출력), csv로 지정하고 출력시 od_b_uni 항목의 열이 아닌, 앞 열에 od_b_uni 데이터가 표기 됨.

 

orderprintresult.php 파일을 수정하였습니다.

1. xls 출력을 위한 수정내역

</p>

<p>            $rows[] = array(' '.$row['od_b_zip1'].$row['od_b_zip2'],</p>

<p>                            $pull_address,</p>

<p>                            $row['od_b_name'],</p>

<p>                            ' '.conv_telno($row['od_b_tel']),</p>

<p>                            ' '.conv_telno($row['od_b_hp']),</p>

<p>                            preg_replace("/\"/", "&#034;", $row['it_name']),</p>

<p>                            ' '.$row['ct_qty'],</p>

<p>                            $row['ct_option'],</p>

<p>                            $ct_send_cost,</p>

<p>                            ' '.$row['it_id'],</p>

<p>                            ' '.$row['od_id'],</p>

<p>                            ' '.$row['od_invoice'],</p>

<p>                            preg_replace("/\"/", "&#034;", $row['od_memo']),</p>

<p>                            ' '.conv_telno($row['od_b_uni']));</p>

<p>

 

 

2. csv 출력을 위한 수정내역

</p>

<p>        echo '"\''.$row['od_b_zip1'].$row['od_b_zip2'].'"\''.',';</p>

<p>        echo '"'.$pull_address.'"'.',';</p>

<p>        echo '"'.$row['od_b_name'].'"'.',';</p>

<p>        //echo '"'.multibyte_digit((string)$row[od_b_tel]).'"'.',';</p>

<p>        //echo '"'.multibyte_digit((string)$row[od_b_hp]).'"'.',';</p>

<p>        echo '"'.conv_telno($row['od_b_tel']) . '"'.',';</p>

<p>        echo '"'.conv_telno($row['od_b_hp']) . '"'.',';</p>

<p>        echo '"'.preg_replace("/\"/", "&#034;", $row['it_name']) . '"'.',';</p>

<p>        echo '"'.$row['ct_qty'].'"'.',';</p>

<p>        echo '"'.$row['ct_option'].'"'.',';</p>

<p>        echo '"'.$ct_send_cost.'"'.',';</p>

<p>        echo '"\''.$row['it_id'].'\'"'.',';</p>

<p>        echo '"\''.$row['od_id'].'\'"'.',';</p>

<p>        echo '"'.$row['od_invoice'].'"'.',';</p>

<p>        //echo '"'.preg_replace("/\"/", "&#034;", preg_replace("/\n/", "", $row[od_memo])).'"';</p>

<p>        echo '"'.preg_replace("/\"/", "&#034;", $row['od_memo']).'"';</p>

<p>        echo '"'.$row['od_b_uni'].'"'.',';</p>

<p>        echo "\n";</p>

<p>

 

 

 

질문1. orderprintresult.php 에서 xls영역과 csv영역 같은 방식으로 소스를 추가하였는데, xls영역만 정상적으로 출력이 됩니다. csv영역의 소스수정은 다른 방식인가요?

질문2. 그렇다면 csv 출력시, 상품 필드 추가 한 데이터값을 지정된 열에 출력하는 방법은 어떤 것인가요?

 

고견 부탁드리겠습니다.
감사합니다.

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

답변 2개

채택된 답변
+20 포인트
M
2년 전

memo 뒤에 ,가 빠졌고

od_b_uni은 ,을 빼주셔야 합니다.

</p>

<p>        echo '"'.$row['od_invoice'].'"'.',';

        echo '"'.preg_replace("/\"/", "\"", $row['od_memo']).'"'.',';

        echo '"'.$row['od_b_uni'].'"';</p>

<p>

이런식으로요.

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

답변에 대한 댓글 1개

하바르
2년 전
와!! 답변 정말 감사드립니다, 알려주신 것처럼 실행해보니 정확히 구현되었습니다.
혼자 몇시간동안 헤맸는데 한번에 해결되었네요.
감사합니다!!

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

A
2년 전

CSV 는 형식이 달라요, 첫째줄 같은 경우 아래처럼 하셔야해요

echo '"'.$row['od_b_zip1'].$row['od_b_zip2'].'",';

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

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

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

로그인