게시판 데이타 액셀출력시 채택완료
<?ob_start();
include_once($_SERVER['DOCUMENT_ROOT'] ."/apjavab05/common.php");
if($is_admin == 'super'){
//@mysql_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($data=@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($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개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 2개
루프 안에 제일 위에다가
$data = @iconv("UTF-8", "CP949", $data);
윈도우환경의 엑셀은 CP949입니다.
while($data=sql_fetch_array($result)) {
$data = @iconv("UTF-8", "CP949", $data);
댓글을 작성하려면 로그인이 필요합니다.
$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 함수로 대체하세요
답변에 대한 댓글 2개
문제가 한글이 깨져서 나옵니다
@mysql_query("SET CHARACTER SET utf8"); // 한글깨지면 주석해지
이부분 주석제거헀는데도 그러네요 ㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
while($data=@mysql_fetch_array($result))을 아래처럼 수정하니 오류가 나옵니다. ㅠㅠ
수정코드 $data=mysql_fetch_array($result)
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
1.디비 캐맄터셑이 utf8 인지 아닌지
2. utf8 이라면 해당문서 인코딩도 ansi 가 아닌 utf8 이어야 합니다.
그렇다면 SET NAMES 부분
//@mysql_query("SET CHARACTER SET utf8"); 주석처리가 되어있어야 합니다.
그리고 표현되는 $data 필드 중에 한글부분만 깨진다면
$data[한글필드] = @iconv("디비캐릭터셒", "CP949", $data[한글필드]);
이렇게 해보세요