게시판 데이타 액셀출력시

게시판 데이타 액셀출력시

QA

게시판 데이타 액셀출력시

본문

<?ob_start();

 include_once($_SERVER['DOCUMENT_ROOT'] ."/apjavab05/common.php");

 if($is_admin == 'super'){
 
 
 
  //_query("SET CHARACTER SET utf8");  // 한글깨지면 주석해지
 
  $g5[title] = "엑셀 문서 다운로드";
  header( "Content-type: application/vnd.ms-excel" );
  header( "Content-Disposition: attachment; filename=".date("ymdH")."-참가목록.xls" );
  header( "Content-Description: PHP4 Generated Data" );
 
 
 
  $temp=mysql_fetch_array(mysql_query("select count(*) from g5_write_camp_test"));
  $result=mysql_query("select * from g5_write_camp_test order by wr_datetime desc");
 
  $number=$temp[0];
?>
 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<style type="text/css">
 
.txt {mso-number-format:'\@'}
 
</style>
</head>
 
<body>
<table border="1">
  <tr height="50">
    <td colspan="13" style="font-size:20px; color:#ffffff; background:#666666;">참가신청 리스트</td>
  </tr>
 
<tr>

<th scope="col">번호</th>
<th scope="col">작성자</th>
<th scope="col">캠프일정</th>
<th scope="col">보호자명/관계</th>
<th scope="col">연락처(H/P)</th>
<th scope="col">주소</th>
<th scope="col">이메일</th>
<th scope="col">입금자명</th>
<th scope="col">참가자명</th>
<th scope="col">성별</th>
<th scope="col">학교명/학년</th>
<th scope="col">연락처(H/P)</th>
<th scope="col">계열선택</th>
<th scope="col">유의사항</th>
<th scope="col">가입경로</th>
<th scope="col">결제수단</th>
<th scope="col">등록시간</th>

</tr>
 
<?
while(@mysql_fetch_array($result)) {
 
echo "
  <tr>
 <td class='txt'>".$data[wr_num]."</td>
    <td class='txt'>".$data[wr_name]."</td>
 <td class='txt'>".$data[wr_1]."</td>
 <td class='txt'>".$data[wr_subject]."</td>
    <td class='txt'>".$data[wr_content]."</td>
    <td class='txt'>".$data[wr_3]."</td>
    <td class='txt'>".$data[wr_4]."</td>
    <td class='txt'>".$data[wr_5]."</td>
 <td class='txt'>".$data[wr_name]."</td>
 <td class='txt'>".$data[wr_7]."</td>
 <td class='txt'>".$data[wr_8]."</td>
 <td class='txt'>".$data[wr_9]."</td>
 <td class='txt'>".$data[wr_10]."</td>
 <td class='txt'>".$data[wr_11]."</td>
 <td class='txt'>".$data[wr_12]."</td>
 <td class='txt'>".$data[wr_18]."</td>
    <td class='txt'>$data[wr_datetime]</td>
  </tr>
";
  $number--;
 }
?>
</table>
</body>
</html>
 
<?
 
 }
 
?>

 

 

 

위 코드로 엑셀출력을 하려는데

엑셀은 다운받아집니다

컬럼도 나오는데 중요한 데이타가 나오질 않습니다  ㅠㅠ

이 질문에 댓글 쓰기 :

답변 5

while(@mysql_fetch_array($result))을 아래처럼 수정하니 오류가 나옵니다. ㅠㅠ

 

수정코드 $data=mysql_fetch_array($result)

 

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in

 

 $temp=sql_fetch("select count(*) as cnt from g5_write_camp_test");
  $result=sql_query("select * from g5_write_camp_test order by wr_datetime desc");
 
  $number=$temp['cnt'];

..

 

while($data=sql_fetch_array($result)) {

 

이렇게 그누에서 사용하는 sql 함수로 대체하세요

 

정말고맙습니다~~ data는 잘나오는데...
문제가 한글이 깨져서 나옵니다
_query("SET CHARACTER SET utf8");  // 한글깨지면 주석해지
이부분 주석제거헀는데도 그러네요 ㅠㅠ

타이틀은 안깨집니다 ㅠ

<?
while($data=sql_fetch_array($result)) {
$data = @iconv("UTF-8", "CP949", $data);
echo "
  <tr>
 <td class='txt'>".$data[wr_num]."</td>
    <td class='txt'>".$data[wr_name]."</td>
 <td class='txt'>".$data[wr_1]."</td>....

 

 

data가 나오지 않습니다 ㅠㅠ

 

정리해 봅시다.

1.디비 캐맄터셑이 utf8 인지 아닌지

2. utf8 이라면 해당문서 인코딩도 ansi 가 아닌 utf8 이어야 합니다.

그렇다면 SET NAMES 부분
//_query("SET CHARACTER SET utf8");  주석처리가 되어있어야 합니다.

그리고 표현되는 $data 필드 중에 한글부분만 깨진다면

$data[한글필드] = @iconv("디비캐릭터셒", "CP949", $data[한글필드]);

이렇게 해보세요

답변을 작성하시기 전에 로그인 해주세요.
전체 123,532 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT