안녕하십니까 !
독립홈페이지에서 지마켓에 상품을 드록 해서 판매하고 있는데 매번 홈페이지 상품 상세 등록 내용을
새로 지마켓에서 일일이 다시 등록 하려니 번거 로워
홈페이지 상품 상세 페이지를 복사해서 지마켓 상품 상세 등록 내용에 복사해서 넣으면
등록시 에러가 납니다. 바로 cheditor4 때문에 마지막의 r4가 공교롭게도 닌텐도의 판매금지 품의 r4와
같아 등록이 안된다고 나와 그동안 일일이 등록 했는데 힘이 듭니다.
옥션과 다른곳은 복사해서 넣어도 그대로등록되어 편하게 상품 등록하고 있습니다.
그래서 이번 기회에 cheditor4의 디렉토리를 cheditor0란 것으로 바꾸면 될것 같은데
이렇게 cheditor4디렉도리명을 바꾸면 홈페이지 파일중 어느어느 파일의 chedtitor4를 수정해야하는지
부탁 드리겠습니다.
그리고 대한통운배송을 사용하는데 전산 출력을 위한 배송 라벨 출력 엑셀파일이 없는데
우선 급하게는 주문출력을 이용해서 일일이 주문자 마다 여러 셀로 된것을 지워가며
하나의 주문자에 주문금액과 상품명을 합쳐 하나의 셀로 만들고 있습니다.
그런데 이를 수정해서 따로 배송 출력 엑셀을 만들고 싶은데
주문 출력 엑셀 만드는 파일은 어느것이고 어느부분이 엑셀 파일 만드는 영역인지
부탁드립니다.
감사합니다.
SNS와 QR코드는 여기 올라온 좋은 글들을 참조 잘 적용해서 사용하고 있습니다
독립홈페이지에서 지마켓에 상품을 드록 해서 판매하고 있는데 매번 홈페이지 상품 상세 등록 내용을
새로 지마켓에서 일일이 다시 등록 하려니 번거 로워
홈페이지 상품 상세 페이지를 복사해서 지마켓 상품 상세 등록 내용에 복사해서 넣으면
등록시 에러가 납니다. 바로 cheditor4 때문에 마지막의 r4가 공교롭게도 닌텐도의 판매금지 품의 r4와
같아 등록이 안된다고 나와 그동안 일일이 등록 했는데 힘이 듭니다.
옥션과 다른곳은 복사해서 넣어도 그대로등록되어 편하게 상품 등록하고 있습니다.
그래서 이번 기회에 cheditor4의 디렉토리를 cheditor0란 것으로 바꾸면 될것 같은데
이렇게 cheditor4디렉도리명을 바꾸면 홈페이지 파일중 어느어느 파일의 chedtitor4를 수정해야하는지
부탁 드리겠습니다.
그리고 대한통운배송을 사용하는데 전산 출력을 위한 배송 라벨 출력 엑셀파일이 없는데
우선 급하게는 주문출력을 이용해서 일일이 주문자 마다 여러 셀로 된것을 지워가며
하나의 주문자에 주문금액과 상품명을 합쳐 하나의 셀로 만들고 있습니다.
그런데 이를 수정해서 따로 배송 출력 엑셀을 만들고 싶은데
주문 출력 엑셀 만드는 파일은 어느것이고 어느부분이 엑셀 파일 만드는 영역인지
부탁드립니다.
감사합니다.
SNS와 QR코드는 여기 올라온 좋은 글들을 참조 잘 적용해서 사용하고 있습니다
댓글 4개
cheditor4 디렉토리를 cheditor0 으로 바꾸신 후
config.php 의
$g4['cheditor4'] = "cheditor4";
$g4['cheditor4_path'] = $g4['path'] . "/" . $g4['cheditor4'];
를
$g4['cheditor4'] = "cheditor0";
$g4['cheditor4_path'] = $g4['path'] . "/" . $g4['cheditor4'];
와 같이 수정해 보시기 바랍니다.
관리자 > 쇼핑몰현황 > 주문내역출력을 참고하시기 바랍니다.
config.php 의
$g4['cheditor4'] = "cheditor4";
$g4['cheditor4_path'] = $g4['path'] . "/" . $g4['cheditor4'];
를
$g4['cheditor4'] = "cheditor0";
$g4['cheditor4_path'] = $g4['path'] . "/" . $g4['cheditor4'];
와 같이 수정해 보시기 바랍니다.
관리자 > 쇼핑몰현황 > 주문내역출력을 참고하시기 바랍니다.
감사합니다. 제가 바꾸기전 지마켓에서 cheditor4도 등록되도록 해주었습니다.
다시 감사합니다.
송장 프린터 내역은 orderprint.php 파일에서 주문내역 출력을 똑같이 아래에 복사하나더해서 나타나게 하고 그결과를 orderprintresult.php 파일에서 반영되게해서 출력형식을 바꾸도록 해야 한다는 말씀 이군요. 쉽진않겠군요 orderprint.php 에서 아래 하나더 복사할때 변수를 다르게 하는게문제일것 같은데 해보고 안되면 다시 여쭈어 보겠습니다.
사실 주문출력내역에서 주문상품내역이 한사람에 여러행으로 하나씩 나오니까 그것을 모두 모나 상품내역을 하나의 셀에 다들어가서 주문자 한사람씩 한 행이 되도록 만 하면되는데...ㅎㅎㅎ
그럼 건강하세요
다시 감사합니다.
송장 프린터 내역은 orderprint.php 파일에서 주문내역 출력을 똑같이 아래에 복사하나더해서 나타나게 하고 그결과를 orderprintresult.php 파일에서 반영되게해서 출력형식을 바꾸도록 해야 한다는 말씀 이군요. 쉽진않겠군요 orderprint.php 에서 아래 하나더 복사할때 변수를 다르게 하는게문제일것 같은데 해보고 안되면 다시 여쭈어 보겠습니다.
사실 주문출력내역에서 주문상품내역이 한사람에 여러행으로 하나씩 나오니까 그것을 모두 모나 상품내역을 하나의 셀에 다들어가서 주문자 한사람씩 한 행이 되도록 만 하면되는데...ㅎㅎㅎ
그럼 건강하세요
http://sir.co.kr/bbs/board.php?bo_table=yc4_tiptech&wr_id=6 이링크를 보고
아이디어를 얻어 xls 출력은 나중에 분석을 위해 그대로 두고 csv만 송장 출력용으로 만들면 될것 같아
위링크처럼 한사람이 여러개를 주문했을때 상품명이 "테스트상품 외 4건" 이런 식으로 나오도록 하려고 한다고 위 링크에서
$sql2 = " select count(*) as cnt, sum(ct_qty) as sum_qty from $g4[yc4_cart_table] where on_uid = '$row[on_uid]' ";
$row2 = sql_fetch($sql2);
$sql3 = " select it_name from $g4[yc4_cart_table] a, $g4[yc4_item_table] b where a.it_id = b.it_id and a.on_uid = '$row[on_uid]' order by a.ct_id ";
$row3 = sql_fetch($sql3);
$it_name = $row3[it_name];
if ($row2[cnt] > 1)
$it_name .= " 외 ".($row2[cnt]-1)."건 ";
만 삽입 해보았는데 역시나 안되어라구요
우편번호 주소 이름 전화1 전화2 상품명 수량 상품코드 주문번호 운송장번호 전하실말씀
405-280 인천 남동구 홍길동 000-0000-0000 000-0000-0000 테스트상품 4 '2019' '1108242224' 빠른배송부탁
405-280 인천 남동구 홍길동 000-0000-0000 000-0000-0000 테스트상품2 2 '2019' '1108242224' 빠른배송부탁
405-280 인천 남동구 홍길동 000-0000-0000 000-0000-0000 테스트상품3 1 '2019' '1108242224' 빠른배송부탁
405-280 인천 남동구 홍길동 000-0000-0000 000-0000-0000 테스트상품4 9 '2019' '1108242224' 빠른배송부탁
405-280 인천 남동구 홍길동 000-0000-0000 000-0000-0000 테스트상품5 14 '2019' '1108242224' 빠른배송부탁
405-280 인천 남동구 홍길동 000-0000-0000 000-0000-0000 테스트상품6 1 '2019' '1108242224' 빠른배송부탁
이런식으로 그냥 수정 전이나 수정 후가 변화가 없이 그대로 나오더라구요
위에서한줄에 상품명이 "테스트상품 외 5건" 으로 표시되게 하고 한줄이었으면 좋겠는데
안되네요
if 분 봐서는 cnt 해서 하는것 같은데 이상하게 같은 사람 비교하는 if분은 안보여서 그런것 같은데
그리고 ct_qty 와 sum_qty 도 틀리고 어디를 수정 해야하는지요 ?
부탁드립니다.
아래
수정 해본 orderprintresult.php 파일 입니다.
<?
$sub_menu = "500120";
include_once("./_common.php");
auth_check($auth[$sub_menu], "r");
//print_r2($_GET); exit;
/*
function multibyte_digit($source)
{
$search = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
$replace = array("0","1","2","3","4","5","6","7","8","9");
return str_replace($search, $replace, (string)$source);
}
*/
function conv_telno($t)
{
// 숫자만 있고 0으로 시작하는 전화번호
if (!preg_match("/[^0-9]/", $t) && preg_match("/^0/", $t)) {
if (preg_match("/^01/", $t)) {
$t = preg_replace("/([0-9]{3})(.*)([0-9]{4})/", "\\1-\\2-\\3", $t);
} else if (preg_match("/^02/", $t)) {
$t = preg_replace("/([0-9]{2})(.*)([0-9]{4})/", "\\1-\\2-\\3", $t);
} else {
$t = preg_replace("/([0-9]{3})(.*)([0-9]{4})/", "\\1-\\2-\\3", $t);
}
}
return $t;
}
// 1.04.01
// MS엑셀 CSV 데이터로 다운로드 받음
if ($csv == 'csv')
{
$fr_date = date_conv($fr_date);
$to_date = date_conv($to_date);
$sql = " SELECT od_b_zip1, od_b_zip2, od_b_addr1, od_b_addr2, od_b_name, od_b_tel, od_b_hp, it_name, ct_qty, b.it_id, a.od_id, od_memo, od_invoice
FROM $g4[yc4_order_table] a, $g4[yc4_cart_table] b, $g4[yc4_item_table] c
where a.on_uid = b.on_uid
and b.it_id = c.it_id ";
if ($case == 1) // 출력기간
$sql .= " and a.od_time between '$fr_date 00:00:00' and '$to_date 23:59:59' ";
else // 주문번호구간
$sql .= " and a.od_id between '$fr_od_id' and '$to_od_id' ";
if ($ct_status)
$sql .= " and b.ct_status = '$ct_status' ";
$sql .=" order by od_time asc ";
$result = sql_query($sql);
$cnt = @mysql_num_rows($result);
if (!$cnt)
alert("출력할 내역이 없습니다.");
//header('Content-Type: text/x-csv');
header("Content-charset=$g4[charset]");
header('Content-Type: doesn/matter');
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Content-Disposition: attachment; filename="' . date("ymd", time()) . '.csv"');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
//echo "우편번호,주소,이름,전화1,전화2,상품명,수량,비고,전하실말씀\n";
echo "우편번호,주소,이름,전화1,전화2,상품명,수량,상품코드,주문번호,운송장번호,전하실말씀\n";
for ($i=0; $row=mysql_fetch_array($result); $i++)
{
/* 수정 추가부분 */
$sql2 = " select count(*) as cnt, sum(ct_qty) as sum_qty from $g4[yc4_cart_table] where on_uid = '$row[on_uid]' ";
$row2 = sql_fetch($sql2);
$sql3 = " select it_name from $g4[yc4_cart_table] a, $g4[yc4_item_table] b where a.it_id = b.it_id and a.on_uid = '$row[on_uid]' order by a.ct_id ";
$row3 = sql_fetch($sql3);
$it_name = $row3[it_name];
if ($row2[cnt] > 1)
$it_name .= " 외 ".($row2[cnt]-1)."건 ";
/* 수정 추가부분 */
echo '"' . $row[od_b_zip1] . '-' . $row[od_b_zip2] . '"' . ',';
echo '"' . $row[od_b_addr1] . ' ' . $row[od_b_addr2] . '"' . ',';
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[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 "\n";
}
if ($i == 0)
echo "자료가 없습니다.\n";
exit;
}
// MS엑셀 XLS 데이터로 다운로드 받음
if ($csv == 'xls')
{
$fr_date = date_conv($fr_date);
$to_date = date_conv($to_date);
$sql = " SELECT od_b_zip1, od_b_zip2, od_b_addr1, od_b_addr2, od_b_name, od_b_tel, od_b_hp, it_name, ct_qty, b.it_id, a.od_id, od_memo, od_invoice, b.it_opt1, b.it_opt2, b.it_opt3, b.it_opt4, b.it_opt5, b.it_opt6
FROM $g4[yc4_order_table] a, $g4[yc4_cart_table] b, $g4[yc4_item_table] c
where a.on_uid = b.on_uid
and b.it_id = c.it_id ";
if ($case == 1) // 출력기간
$sql .= " and a.od_time between '$fr_date 00:00:00' and '$to_date 23:59:59' ";
else // 주문번호구간
$sql .= " and a.od_id between '$fr_od_id' and '$to_od_id' ";
if ($ct_status)
$sql .= " and b.ct_status = '$ct_status' ";
$sql .=" order by od_time asc ";
$result = sql_query($sql);
$cnt = @mysql_num_rows($result);
if (!$cnt)
alert("출력할 내역이 없습니다.");
header("Content-charset=$g4[charset]");
header('Content-Type: application/vnd.ms-excel');
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Content-Disposition: attachment; filename="' . date("ymd", time()) . '.xls"');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
echo "<html>";
echo "<head>";
echo "<title>xls</title>";
echo "<style>.txt {mso-number-format:'\\@';}</style>";
echo "</head>";
echo "<body>";
echo "<table border='1'>";
echo "<tr>";
echo "<td>우편번호</td>";
echo "<td>주소</td>";
echo "<td>이름</td>";
echo "<td>전화1</td>";
echo "<td>전화2</td>";
echo "<td>상품명</td>";
echo "<td>수량</td>";
echo "<td>상품코드</td>";
echo "<td>주문번호</td>";
echo "<td>운송장번호</td>";
echo "<td>전하실말씀</td>";
echo "</tr>";
for ($i=0; $row=mysql_fetch_array($result); $i++)
{
$it_name = stripslashes($row[it_name]) . "<br />";
$it_name .= print_item_options($row[it_id], $row[it_opt1], $row[it_opt2], $row[it_opt3], $row[it_opt4], $row[it_opt5], $row[it_opt6]);
echo "<tr>";
echo "<td>" . $row[od_b_zip1] . '-' . $row[od_b_zip2] . "</td>";
echo "<td>" . $row[od_b_addr1] . ' ' . $row[od_b_addr2] . "</td>";
echo "<td>" . $row[od_b_name] . "</td>";
echo "<td class='txt'>" . $row[od_b_tel] . "</td>";
echo "<td class='txt'>" . $row[od_b_hp] . "</td>";
echo "<td>" . $it_name . "</td>";
echo "<td>" . $row[ct_qty] . "</td>";
echo "<td class='txt'>" . $row[it_id] . "</td>";
echo "<td class='txt'>'" . urlencode($row[od_id]) . "'</td>";
echo "<td class='txt'>" . $row[od_invoice] . "</td>";
echo "<td>" . $row[od_memo] . "</td>";
echo "</tr>";
}
if ($i == 0)
echo "<tr><td colspan='11'>자료가 없습니다.</td></tr>";
echo "</table>";
echo "</body>";
echo "</html>";
exit;
}
function get_order($on_uid)
{
global $g4;
$sql = " select * from $g4[yc4_order_table] where on_uid = '$on_uid' ";
return sql_fetch($sql);
}
$g4[title] = "주문내역";
include_once("$g4[path]/head.sub.php");
if ($case == 1)
{
$fr_date = date_conv($fr_date);
$to_date = date_conv($to_date);
$sql = " SELECT DISTINCT a.on_uid FROM $g4[yc4_order_table] a, $g4[yc4_cart_table] b
where a.on_uid = b.on_uid
and a.od_time between '$fr_date 00:00:00' and '$to_date 23:59:59' ";
}
else
{
$sql = " SELECT DISTINCT a.on_uid FROM $g4[yc4_order_table] a, $g4[yc4_cart_table] b
where a.on_uid = b.on_uid
and a.od_id between '$fr_od_id' and '$to_od_id' ";
}
if ($ct_status)
$sql .= " and b.ct_status = '$ct_status' ";
$sql .= " order by a.od_id ";
$result = sql_query($sql);
if (mysql_num_rows($result) == 0)
{
echo "<script>alert('출력할 내역이 없습니다.'); window.close();</script>";
exit;
}
?>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=<?=$g4['charset']?>">
<title>주문내역</title>
<style>
body, table, tr, td, p { font-size:9pt; }
</style>
</head>
<body bgcolor=ffffff leftmargin=0 topmargin=0 marginheight=0 marginwidth=0>
<?
if ($case == 1)
echo "<p><b>[ $fr_date - $to_date $ct_status 내역 ]</b>";
else
echo "<p><b>[ $fr_od_id - $to_od_id $ct_status 내역 ]</b>";
?>
<table width=650 cellpadding=2 cellspacing=0 border=0 bordercolordark="white" bordercolorlight="gray">
<tr><td colspan=5><hr></td></tr>
<tr>
<td rowspan=2 width=70 valign=top align=center>주문번호</td>
<td width=60>보낸분</td>
<td>주소</td>
<td width=100>전화번호</td>
<td width=100>핸드폰</td>
</tr>
<tr>
<td>받는분</td>
<td>주소</td>
<td>전화번호</td>
<td>핸드폰</td>
</tr>
<tr><td colspan=5><hr></td></tr>
<?
$mod = 10;
$tot_total_amount = 0;
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$sql1 = " select * from $g4[yc4_order_table] where on_uid = '$row[on_uid]' ";
$row1 = sql_fetch($sql1);
// 1.03.02
$row1[od_addr] = "(".$row1[od_zip1]."-".$row1[od_zip2].") ".$row1[od_addr1]." ".$row1[od_addr2];
$row1[od_b_addr] = "(".$row1[od_b_zip1]."-".$row1[od_b_zip2].") ".$row1[od_b_addr1]." ".$row1[od_b_addr2];
$row1[od_addr] = ($row1[od_addr]) ? $row1[od_addr] : " ";
$row1[od_tel] = ($row1[od_tel]) ? $row1[od_tel] : " ";
$row1[od_hp] = ($row1[od_hp]) ? $row1[od_hp] : " ";
$row1[od_b_tel] = ($row1[od_b_tel]) ? $row1[od_b_tel] : " ";
$row1[od_b_hp] = ($row1[od_b_hp]) ? $row1[od_b_hp] : " ";
if ($row1[od_name] == $row1[od_b_name]) $row1[od_b_name] = '"';
if ($row1[od_addr] == $row1[od_b_addr]) $row1[od_b_addr] = '"';
if ($row1[od_tel] == $row1[od_b_tel]) $row1[od_b_tel] = '"';
if ($row1[od_hp] == $row1[od_b_hp] && $row1[od_hp] != " ") $row1[od_b_hp] = '"';
$od_memo = ($row1[od_memo]) ? stripslashes($row1[od_memo]) : "";
$od_shop_memo = ($row1[od_shop_memo]) ? stripslashes($row1[od_shop_memo]) : "";
echo "
<tr>
<td rowspan=3 align=center valign=top>$row1[od_id]</td>
<td>$row1[od_name]</td>
<td>$row1[od_addr]</td>
<td>$row1[od_tel]</td>
<td>$row1[od_hp]</td>
</tr>
<tr>
<td>$row1[od_b_name]</td>
<td>$row1[od_b_addr]</td>
<td>$row1[od_b_tel]</td>
<td>$row1[od_b_hp]</td>
</tr>
<tr>
<td colspan=4>
<table width=100% cellpadding=2 cellspacing=0 border=1 bordercolordark='white' bordercolorlight='gray'>
";
$sql2 = " select a.*,
b.it_opt1_subject,
b.it_opt2_subject,
b.it_opt3_subject,
b.it_opt4_subject,
b.it_opt5_subject,
b.it_opt6_subject,
b.it_name
from $g4[yc4_cart_table] a, $g4[yc4_item_table] b
where a.it_id = b.it_id
and a.on_uid = '$row[on_uid]' ";
if ($ct_status)
$sql2 .= " and a.ct_status = '$ct_status' ";
$sql2 .= " order by a.ct_id ";
$res2 = sql_query($sql2);
$cnt = $sub_tot_qty = $sub_tot_amount = 0;
while ($row2 = sql_fetch_array($res2))
{
$row2_tot_amount = $row2[ct_amount] * $row2[ct_qty];
$sub_tot_qty += $row2[ct_qty];
$sub_tot_amount += $row2_tot_amount;
$it_name = stripslashes($row2[it_name]);
$it_name = "$it_name ($row2[it_id])<br><font color=#555555>";
$str_split = "";
for ($k=1; $k<=6; $k++)
{
if ($row2["it_opt{$k}"] == "") continue;
$it_name .= $str_split;
$it_opt_subject = $row2["it_opt{$k}_subject"];
$opt = explode( ";", trim($row2["it_opt{$k}"]) );
$it_name .= " $it_opt_subject = $opt[0]";
if ($opt[1] != 0)
{
$it_name .= " (";
if (ereg("[+]", $opt[1]) == true)
$it_name .= "+";
// 금액을 전화문의 표시로
$it_name .= display_amount($opt[1]) . ")";
}
$str_split = "<br>";
}
$it_name .= "</font>";
$fontqty1 = $fontqty2 = "";
if ($row2[ct_qty] >= 2)
{
$fontqty1 = "<font color=crimson><b>";
$fontqty2 = "</b></font>";
}
echo "
<tr>
<td>$it_name</td>
<td width=80 align=right>".number_format($row2[ct_amount])." </td>
<td width=50 align=center>$fontqty1".number_format($row2[ct_qty])."$fontqty2</td>
<td width=80 align=right>".number_format($row2_tot_amount)." </td>
</tr>
";
$cnt++;
}
if ($cnt >= 2)
{
echo "
<tr>
<td colspan=2 align=right><b>합 계</b> </td>
<td align=center>".number_format($sub_tot_qty)."</td>
<td align=right>".number_format($sub_tot_amount)." </td>
</tr>";
}
$tot_tot_qty += $sub_tot_qty;
$tot_tot_amount += $sub_tot_amount;
if ($od_memo) $od_memo = "<font color=crimson>비고 : $od_memo</font>";
if ($od_shop_memo) $od_shop_memo = "<br/><font color=crimson>상점메모 : $od_shop_memo</font>";
echo "
</table>
$od_memo
$od_shop_memo
</td>
</tr>
<tr><td colspan=5><hr></td></tr>";
}
?>
<tr>
<td></td>
<td colspan=4>
<table width=100% cellpadding=2 cellspacing=0 border=1 bordercolordark='white' bordercolorlight='gray'>
<tr>
<?
echo "
<td colspan=2 align=right><b>전 체 합 계</b> </td>
<td align=center width=50>".number_format($tot_tot_qty)."</td>
<td align=right width=80>".number_format($tot_tot_amount)." </td>
";
?>
</tr>
</table>
</td>
</tr>
</table>
<br><끝>
</body>
</html>
아이디어를 얻어 xls 출력은 나중에 분석을 위해 그대로 두고 csv만 송장 출력용으로 만들면 될것 같아
위링크처럼 한사람이 여러개를 주문했을때 상품명이 "테스트상품 외 4건" 이런 식으로 나오도록 하려고 한다고 위 링크에서
$sql2 = " select count(*) as cnt, sum(ct_qty) as sum_qty from $g4[yc4_cart_table] where on_uid = '$row[on_uid]' ";
$row2 = sql_fetch($sql2);
$sql3 = " select it_name from $g4[yc4_cart_table] a, $g4[yc4_item_table] b where a.it_id = b.it_id and a.on_uid = '$row[on_uid]' order by a.ct_id ";
$row3 = sql_fetch($sql3);
$it_name = $row3[it_name];
if ($row2[cnt] > 1)
$it_name .= " 외 ".($row2[cnt]-1)."건 ";
만 삽입 해보았는데 역시나 안되어라구요
우편번호 주소 이름 전화1 전화2 상품명 수량 상품코드 주문번호 운송장번호 전하실말씀
405-280 인천 남동구 홍길동 000-0000-0000 000-0000-0000 테스트상품 4 '2019' '1108242224' 빠른배송부탁
405-280 인천 남동구 홍길동 000-0000-0000 000-0000-0000 테스트상품2 2 '2019' '1108242224' 빠른배송부탁
405-280 인천 남동구 홍길동 000-0000-0000 000-0000-0000 테스트상품3 1 '2019' '1108242224' 빠른배송부탁
405-280 인천 남동구 홍길동 000-0000-0000 000-0000-0000 테스트상품4 9 '2019' '1108242224' 빠른배송부탁
405-280 인천 남동구 홍길동 000-0000-0000 000-0000-0000 테스트상품5 14 '2019' '1108242224' 빠른배송부탁
405-280 인천 남동구 홍길동 000-0000-0000 000-0000-0000 테스트상품6 1 '2019' '1108242224' 빠른배송부탁
이런식으로 그냥 수정 전이나 수정 후가 변화가 없이 그대로 나오더라구요
위에서한줄에 상품명이 "테스트상품 외 5건" 으로 표시되게 하고 한줄이었으면 좋겠는데
안되네요
if 분 봐서는 cnt 해서 하는것 같은데 이상하게 같은 사람 비교하는 if분은 안보여서 그런것 같은데
그리고 ct_qty 와 sum_qty 도 틀리고 어디를 수정 해야하는지요 ?
부탁드립니다.
아래
수정 해본 orderprintresult.php 파일 입니다.
<?
$sub_menu = "500120";
include_once("./_common.php");
auth_check($auth[$sub_menu], "r");
//print_r2($_GET); exit;
/*
function multibyte_digit($source)
{
$search = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
$replace = array("0","1","2","3","4","5","6","7","8","9");
return str_replace($search, $replace, (string)$source);
}
*/
function conv_telno($t)
{
// 숫자만 있고 0으로 시작하는 전화번호
if (!preg_match("/[^0-9]/", $t) && preg_match("/^0/", $t)) {
if (preg_match("/^01/", $t)) {
$t = preg_replace("/([0-9]{3})(.*)([0-9]{4})/", "\\1-\\2-\\3", $t);
} else if (preg_match("/^02/", $t)) {
$t = preg_replace("/([0-9]{2})(.*)([0-9]{4})/", "\\1-\\2-\\3", $t);
} else {
$t = preg_replace("/([0-9]{3})(.*)([0-9]{4})/", "\\1-\\2-\\3", $t);
}
}
return $t;
}
// 1.04.01
// MS엑셀 CSV 데이터로 다운로드 받음
if ($csv == 'csv')
{
$fr_date = date_conv($fr_date);
$to_date = date_conv($to_date);
$sql = " SELECT od_b_zip1, od_b_zip2, od_b_addr1, od_b_addr2, od_b_name, od_b_tel, od_b_hp, it_name, ct_qty, b.it_id, a.od_id, od_memo, od_invoice
FROM $g4[yc4_order_table] a, $g4[yc4_cart_table] b, $g4[yc4_item_table] c
where a.on_uid = b.on_uid
and b.it_id = c.it_id ";
if ($case == 1) // 출력기간
$sql .= " and a.od_time between '$fr_date 00:00:00' and '$to_date 23:59:59' ";
else // 주문번호구간
$sql .= " and a.od_id between '$fr_od_id' and '$to_od_id' ";
if ($ct_status)
$sql .= " and b.ct_status = '$ct_status' ";
$sql .=" order by od_time asc ";
$result = sql_query($sql);
$cnt = @mysql_num_rows($result);
if (!$cnt)
alert("출력할 내역이 없습니다.");
//header('Content-Type: text/x-csv');
header("Content-charset=$g4[charset]");
header('Content-Type: doesn/matter');
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Content-Disposition: attachment; filename="' . date("ymd", time()) . '.csv"');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
//echo "우편번호,주소,이름,전화1,전화2,상품명,수량,비고,전하실말씀\n";
echo "우편번호,주소,이름,전화1,전화2,상품명,수량,상품코드,주문번호,운송장번호,전하실말씀\n";
for ($i=0; $row=mysql_fetch_array($result); $i++)
{
/* 수정 추가부분 */
$sql2 = " select count(*) as cnt, sum(ct_qty) as sum_qty from $g4[yc4_cart_table] where on_uid = '$row[on_uid]' ";
$row2 = sql_fetch($sql2);
$sql3 = " select it_name from $g4[yc4_cart_table] a, $g4[yc4_item_table] b where a.it_id = b.it_id and a.on_uid = '$row[on_uid]' order by a.ct_id ";
$row3 = sql_fetch($sql3);
$it_name = $row3[it_name];
if ($row2[cnt] > 1)
$it_name .= " 외 ".($row2[cnt]-1)."건 ";
/* 수정 추가부분 */
echo '"' . $row[od_b_zip1] . '-' . $row[od_b_zip2] . '"' . ',';
echo '"' . $row[od_b_addr1] . ' ' . $row[od_b_addr2] . '"' . ',';
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[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 "\n";
}
if ($i == 0)
echo "자료가 없습니다.\n";
exit;
}
// MS엑셀 XLS 데이터로 다운로드 받음
if ($csv == 'xls')
{
$fr_date = date_conv($fr_date);
$to_date = date_conv($to_date);
$sql = " SELECT od_b_zip1, od_b_zip2, od_b_addr1, od_b_addr2, od_b_name, od_b_tel, od_b_hp, it_name, ct_qty, b.it_id, a.od_id, od_memo, od_invoice, b.it_opt1, b.it_opt2, b.it_opt3, b.it_opt4, b.it_opt5, b.it_opt6
FROM $g4[yc4_order_table] a, $g4[yc4_cart_table] b, $g4[yc4_item_table] c
where a.on_uid = b.on_uid
and b.it_id = c.it_id ";
if ($case == 1) // 출력기간
$sql .= " and a.od_time between '$fr_date 00:00:00' and '$to_date 23:59:59' ";
else // 주문번호구간
$sql .= " and a.od_id between '$fr_od_id' and '$to_od_id' ";
if ($ct_status)
$sql .= " and b.ct_status = '$ct_status' ";
$sql .=" order by od_time asc ";
$result = sql_query($sql);
$cnt = @mysql_num_rows($result);
if (!$cnt)
alert("출력할 내역이 없습니다.");
header("Content-charset=$g4[charset]");
header('Content-Type: application/vnd.ms-excel');
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Content-Disposition: attachment; filename="' . date("ymd", time()) . '.xls"');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
echo "<html>";
echo "<head>";
echo "<title>xls</title>";
echo "<style>.txt {mso-number-format:'\\@';}</style>";
echo "</head>";
echo "<body>";
echo "<table border='1'>";
echo "<tr>";
echo "<td>우편번호</td>";
echo "<td>주소</td>";
echo "<td>이름</td>";
echo "<td>전화1</td>";
echo "<td>전화2</td>";
echo "<td>상품명</td>";
echo "<td>수량</td>";
echo "<td>상품코드</td>";
echo "<td>주문번호</td>";
echo "<td>운송장번호</td>";
echo "<td>전하실말씀</td>";
echo "</tr>";
for ($i=0; $row=mysql_fetch_array($result); $i++)
{
$it_name = stripslashes($row[it_name]) . "<br />";
$it_name .= print_item_options($row[it_id], $row[it_opt1], $row[it_opt2], $row[it_opt3], $row[it_opt4], $row[it_opt5], $row[it_opt6]);
echo "<tr>";
echo "<td>" . $row[od_b_zip1] . '-' . $row[od_b_zip2] . "</td>";
echo "<td>" . $row[od_b_addr1] . ' ' . $row[od_b_addr2] . "</td>";
echo "<td>" . $row[od_b_name] . "</td>";
echo "<td class='txt'>" . $row[od_b_tel] . "</td>";
echo "<td class='txt'>" . $row[od_b_hp] . "</td>";
echo "<td>" . $it_name . "</td>";
echo "<td>" . $row[ct_qty] . "</td>";
echo "<td class='txt'>" . $row[it_id] . "</td>";
echo "<td class='txt'>'" . urlencode($row[od_id]) . "'</td>";
echo "<td class='txt'>" . $row[od_invoice] . "</td>";
echo "<td>" . $row[od_memo] . "</td>";
echo "</tr>";
}
if ($i == 0)
echo "<tr><td colspan='11'>자료가 없습니다.</td></tr>";
echo "</table>";
echo "</body>";
echo "</html>";
exit;
}
function get_order($on_uid)
{
global $g4;
$sql = " select * from $g4[yc4_order_table] where on_uid = '$on_uid' ";
return sql_fetch($sql);
}
$g4[title] = "주문내역";
include_once("$g4[path]/head.sub.php");
if ($case == 1)
{
$fr_date = date_conv($fr_date);
$to_date = date_conv($to_date);
$sql = " SELECT DISTINCT a.on_uid FROM $g4[yc4_order_table] a, $g4[yc4_cart_table] b
where a.on_uid = b.on_uid
and a.od_time between '$fr_date 00:00:00' and '$to_date 23:59:59' ";
}
else
{
$sql = " SELECT DISTINCT a.on_uid FROM $g4[yc4_order_table] a, $g4[yc4_cart_table] b
where a.on_uid = b.on_uid
and a.od_id between '$fr_od_id' and '$to_od_id' ";
}
if ($ct_status)
$sql .= " and b.ct_status = '$ct_status' ";
$sql .= " order by a.od_id ";
$result = sql_query($sql);
if (mysql_num_rows($result) == 0)
{
echo "<script>alert('출력할 내역이 없습니다.'); window.close();</script>";
exit;
}
?>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=<?=$g4['charset']?>">
<title>주문내역</title>
<style>
body, table, tr, td, p { font-size:9pt; }
</style>
</head>
<body bgcolor=ffffff leftmargin=0 topmargin=0 marginheight=0 marginwidth=0>
<?
if ($case == 1)
echo "<p><b>[ $fr_date - $to_date $ct_status 내역 ]</b>";
else
echo "<p><b>[ $fr_od_id - $to_od_id $ct_status 내역 ]</b>";
?>
<table width=650 cellpadding=2 cellspacing=0 border=0 bordercolordark="white" bordercolorlight="gray">
<tr><td colspan=5><hr></td></tr>
<tr>
<td rowspan=2 width=70 valign=top align=center>주문번호</td>
<td width=60>보낸분</td>
<td>주소</td>
<td width=100>전화번호</td>
<td width=100>핸드폰</td>
</tr>
<tr>
<td>받는분</td>
<td>주소</td>
<td>전화번호</td>
<td>핸드폰</td>
</tr>
<tr><td colspan=5><hr></td></tr>
<?
$mod = 10;
$tot_total_amount = 0;
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$sql1 = " select * from $g4[yc4_order_table] where on_uid = '$row[on_uid]' ";
$row1 = sql_fetch($sql1);
// 1.03.02
$row1[od_addr] = "(".$row1[od_zip1]."-".$row1[od_zip2].") ".$row1[od_addr1]." ".$row1[od_addr2];
$row1[od_b_addr] = "(".$row1[od_b_zip1]."-".$row1[od_b_zip2].") ".$row1[od_b_addr1]." ".$row1[od_b_addr2];
$row1[od_addr] = ($row1[od_addr]) ? $row1[od_addr] : " ";
$row1[od_tel] = ($row1[od_tel]) ? $row1[od_tel] : " ";
$row1[od_hp] = ($row1[od_hp]) ? $row1[od_hp] : " ";
$row1[od_b_tel] = ($row1[od_b_tel]) ? $row1[od_b_tel] : " ";
$row1[od_b_hp] = ($row1[od_b_hp]) ? $row1[od_b_hp] : " ";
if ($row1[od_name] == $row1[od_b_name]) $row1[od_b_name] = '"';
if ($row1[od_addr] == $row1[od_b_addr]) $row1[od_b_addr] = '"';
if ($row1[od_tel] == $row1[od_b_tel]) $row1[od_b_tel] = '"';
if ($row1[od_hp] == $row1[od_b_hp] && $row1[od_hp] != " ") $row1[od_b_hp] = '"';
$od_memo = ($row1[od_memo]) ? stripslashes($row1[od_memo]) : "";
$od_shop_memo = ($row1[od_shop_memo]) ? stripslashes($row1[od_shop_memo]) : "";
echo "
<tr>
<td rowspan=3 align=center valign=top>$row1[od_id]</td>
<td>$row1[od_name]</td>
<td>$row1[od_addr]</td>
<td>$row1[od_tel]</td>
<td>$row1[od_hp]</td>
</tr>
<tr>
<td>$row1[od_b_name]</td>
<td>$row1[od_b_addr]</td>
<td>$row1[od_b_tel]</td>
<td>$row1[od_b_hp]</td>
</tr>
<tr>
<td colspan=4>
<table width=100% cellpadding=2 cellspacing=0 border=1 bordercolordark='white' bordercolorlight='gray'>
";
$sql2 = " select a.*,
b.it_opt1_subject,
b.it_opt2_subject,
b.it_opt3_subject,
b.it_opt4_subject,
b.it_opt5_subject,
b.it_opt6_subject,
b.it_name
from $g4[yc4_cart_table] a, $g4[yc4_item_table] b
where a.it_id = b.it_id
and a.on_uid = '$row[on_uid]' ";
if ($ct_status)
$sql2 .= " and a.ct_status = '$ct_status' ";
$sql2 .= " order by a.ct_id ";
$res2 = sql_query($sql2);
$cnt = $sub_tot_qty = $sub_tot_amount = 0;
while ($row2 = sql_fetch_array($res2))
{
$row2_tot_amount = $row2[ct_amount] * $row2[ct_qty];
$sub_tot_qty += $row2[ct_qty];
$sub_tot_amount += $row2_tot_amount;
$it_name = stripslashes($row2[it_name]);
$it_name = "$it_name ($row2[it_id])<br><font color=#555555>";
$str_split = "";
for ($k=1; $k<=6; $k++)
{
if ($row2["it_opt{$k}"] == "") continue;
$it_name .= $str_split;
$it_opt_subject = $row2["it_opt{$k}_subject"];
$opt = explode( ";", trim($row2["it_opt{$k}"]) );
$it_name .= " $it_opt_subject = $opt[0]";
if ($opt[1] != 0)
{
$it_name .= " (";
if (ereg("[+]", $opt[1]) == true)
$it_name .= "+";
// 금액을 전화문의 표시로
$it_name .= display_amount($opt[1]) . ")";
}
$str_split = "<br>";
}
$it_name .= "</font>";
$fontqty1 = $fontqty2 = "";
if ($row2[ct_qty] >= 2)
{
$fontqty1 = "<font color=crimson><b>";
$fontqty2 = "</b></font>";
}
echo "
<tr>
<td>$it_name</td>
<td width=80 align=right>".number_format($row2[ct_amount])." </td>
<td width=50 align=center>$fontqty1".number_format($row2[ct_qty])."$fontqty2</td>
<td width=80 align=right>".number_format($row2_tot_amount)." </td>
</tr>
";
$cnt++;
}
if ($cnt >= 2)
{
echo "
<tr>
<td colspan=2 align=right><b>합 계</b> </td>
<td align=center>".number_format($sub_tot_qty)."</td>
<td align=right>".number_format($sub_tot_amount)." </td>
</tr>";
}
$tot_tot_qty += $sub_tot_qty;
$tot_tot_amount += $sub_tot_amount;
if ($od_memo) $od_memo = "<font color=crimson>비고 : $od_memo</font>";
if ($od_shop_memo) $od_shop_memo = "<br/><font color=crimson>상점메모 : $od_shop_memo</font>";
echo "
</table>
$od_memo
$od_shop_memo
</td>
</tr>
<tr><td colspan=5><hr></td></tr>";
}
?>
<tr>
<td></td>
<td colspan=4>
<table width=100% cellpadding=2 cellspacing=0 border=1 bordercolordark='white' bordercolorlight='gray'>
<tr>
<?
echo "
<td colspan=2 align=right><b>전 체 합 계</b> </td>
<td align=center width=50>".number_format($tot_tot_qty)."</td>
<td align=right width=80>".number_format($tot_tot_amount)." </td>
";
?>
</tr>
</table>
</td>
</tr>
</table>
<br><끝>
</body>
</html>
다시 이것으로 봐꿔보았는데
csv 출력이 여러행에걸처 나오더라도 송장프로그램이 여러개 주문을 묶음배송처럼 설정 할수 있어
이름 주소등이 계속 나오니까 상품명을 그대로 나오게 하고 단지 xls에서 처럼 선택과 옵션이 나오게 하려는데 안되네요
xls 출력에 있던 것을
$it_name = stripslashes($row[it_name]) . "/";
$it_name .= print_item_options($row[it_id], $row[it_opt1], $row[it_opt2], $row[it_opt3], $row[it_opt4], $row[it_opt5], $row[it_opt6]);
을
for ($i=0; $row=mysql_fetch_array($result); $i++)
{
$it_name = stripslashes($row[it_name]) . "/";
$it_name .= print_item_options($row[it_id], $row[it_opt1], $row[it_opt2], $row[it_opt3], $row[it_opt4], $row[it_opt5], $row[it_opt6]);
echo '"' . $row[od_b_zip1] . '-' . $row[od_b_zip2] . '"' . ',';
echo '"' . $row[od_b_addr1] . ' ' . $row[od_b_addr2] . '"' . ',';
csv 출력에 나오도록
추가 해보았는데
상품명에 "/"만 추가되고 아래 it_opt 관련 모두 안나오는데
무엇잘못 인가요!
csv 출력이 여러행에걸처 나오더라도 송장프로그램이 여러개 주문을 묶음배송처럼 설정 할수 있어
이름 주소등이 계속 나오니까 상품명을 그대로 나오게 하고 단지 xls에서 처럼 선택과 옵션이 나오게 하려는데 안되네요
xls 출력에 있던 것을
$it_name = stripslashes($row[it_name]) . "/";
$it_name .= print_item_options($row[it_id], $row[it_opt1], $row[it_opt2], $row[it_opt3], $row[it_opt4], $row[it_opt5], $row[it_opt6]);
을
for ($i=0; $row=mysql_fetch_array($result); $i++)
{
$it_name = stripslashes($row[it_name]) . "/";
$it_name .= print_item_options($row[it_id], $row[it_opt1], $row[it_opt2], $row[it_opt3], $row[it_opt4], $row[it_opt5], $row[it_opt6]);
echo '"' . $row[od_b_zip1] . '-' . $row[od_b_zip2] . '"' . ',';
echo '"' . $row[od_b_addr1] . ' ' . $row[od_b_addr2] . '"' . ',';
csv 출력에 나오도록
추가 해보았는데
상품명에 "/"만 추가되고 아래 it_opt 관련 모두 안나오는데
무엇잘못 인가요!
게시글 목록
| 번호 | 제목 |
|---|---|
| 56073 | |
| 56067 | |
| 56065 | |
| 56060 | |
| 56058 | |
| 56055 | |
| 56051 | |
| 56048 | |
| 56044 | |
| 56043 | |
| 56042 | |
| 56039 | |
| 56035 | |
| 56032 | |
| 56030 | |
| 56028 | |
| 56025 | |
| 56018 | |
| 56012 | |
| 56010 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기