2026, 새로운 도약을 시작합니다.

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

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

설치정보는 다음과 같습니다.
그누보드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 출력을 위한 수정내역

Copy


            $rows[] = array(' '.$row['od_b_zip1'].$row['od_b_zip2'],

                            $pull_address,

                            $row['od_b_name'],

                            ' '.conv_telno($row['od_b_tel']),

                            ' '.conv_telno($row['od_b_hp']),

                            preg_replace("/\"/", """, $row['it_name']),

                            ' '.$row['ct_qty'],

                            $row['ct_option'],

                            $ct_send_cost,

                            ' '.$row['it_id'],

                            ' '.$row['od_id'],

                            ' '.$row['od_invoice'],

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

                            ' '.conv_telno($row['od_b_uni']));

32304301_1693760929.4628.png

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

Copy


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

        echo '"'.$pull_address.'"'.',';

        echo '"'.$row['od_b_name'].'"'.',';

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

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

        echo '"'.conv_telno($row['od_b_tel']) . '"'.',';

        echo '"'.conv_telno($row['od_b_hp']) . '"'.',';

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

        echo '"'.$row['ct_qty'].'"'.',';

        echo '"'.$row['ct_option'].'"'.',';

        echo '"'.$ct_send_cost.'"'.',';

        echo '"\''.$row['it_id'].'\'"'.',';

        echo '"\''.$row['od_id'].'\'"'.',';

        echo '"'.$row['od_invoice'].'"'.',';

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

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

        echo '"'.$row['od_b_uni'].'"'.',';

        echo "\n";

32304301_1693761009.4834.png

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

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

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

답변 2개

채택된 답변
+20 포인트

memo 뒤에 ,가 빠졌고

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

Copy


        echo '"'.$row['od_invoice'].'"'.',';

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

        echo '"'.$row['od_b_uni'].'"';

이런식으로요.

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

답변에 대한 댓글 1개

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

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

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

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

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

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

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

로그인
🐛 버그신고