주문 여분 필드 추가 후, 주문내역출력에서 엑셀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 출력을 위한 수정내역
$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']));
2. csv 출력을 위한 수정내역
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";
질문1. orderprintresult.php 에서 xls영역과 csv영역 같은 방식으로 소스를 추가하였는데, xls영역만 정상적으로 출력이 됩니다. csv영역의 소스수정은 다른 방식인가요?
질문2. 그렇다면 csv 출력시, 상품 필드 추가 한 데이터값을 지정된 열에 출력하는 방법은 어떤 것인가요?
고견 부탁드리겠습니다.
감사합니다.
답변 2
memo 뒤에 ,가 빠졌고
od_b_uni은 ,을 빼주셔야 합니다.
echo '"'.$row['od_invoice'].'"'.',';
echo '"'.preg_replace("/\"/", "\"", $row['od_memo']).'"'.',';
echo '"'.$row['od_b_uni'].'"';
이런식으로요.
!-->CSV 는 형식이 달라요, 첫째줄 같은 경우 아래처럼 하셔야해요
echo '"'.$row['od_b_zip1'].$row['od_b_zip2'].'",';