엑셀 excel 다운로드 - 게시판 리스트 중 체크박스된 것만
본문
안녕하세요?
아래 엑셀 다운로드 코드 중에서...
게시판 리스트 중에서 관리자 모드에서 체크된 게시글의 제목과 댓글을 엑셀로 다운로드 받으려면
어떤 코드를 넣어야 되는지요?
아래 코드는 게시판(예, 자유게시판)의 모든 글과 덧글을 내려받습니다.
<?php
include_once "_common.php";
if (!$is_admin) {
alert("관리자만 접근 가능합니다.");
exit;
}
//$excel_down = $g5['table_prefix'].$_GET['bo_table']; //엑셀 다운로드 테이블
$excel_down = "g5_write_".$_GET['bo_table']; //엑셀 다운로드 테이블
// $excel_down = "g5_write_free"; //엑셀 다운로드 테이블
$wr_id = $_GET['wr_id'];
include_once "_common.php";
//@mysql_query("SET CHARACTER SET utf8"); // 한글깨지면 주석해지
if ($ms =="excel"){
$g5[title] = "엑셀 문서 다운로드";
header( "Content-type: application/vnd.ms-excel" );
header( "Content-Disposition: attachment; filename=excel.xls" );
//header( "Content-Description: PHP4 Generated Data" );
} else if ($ms =="power"){
$g5[title] = "파워포인트 문서 다운로드";
header( "Content-type: application/vnd.ms-powerpoint" );
header( "Content-Disposition: attachment; filename=power.ppt" );
// header( "Content-Description: PHP4 Generated Data" );
} else if ($ms =="word"){
$g5[title] = "워드 문서 다운로드";
header( "Content-type: application/vnd.ms-word" );
header( "Content-Disposition: attachment; filename=word.doc" );
//header( "Content-Description: PHP4 Generated Data" );
} else if ($ms =="memo"){
$g5[title] = "메모 문서 다운로드";
header( "Content-type: application/vnd.ms-notepad" );
header( "Content-Disposition: attachment; filename=text.txt" );
} else {
header( "Content-type: application/vnd.ms-excel" );
header( "Content-Disposition: attachment; filename=보고서.xls" );
}
header( "Content-Description: PHP5 Generated Data" );
// 원글 + 코멘트 다운로드
$temp=sql_fetch_array(sql_query("select count(*) from {$excel_down} "));
$result=sql_query("select * from {$excel_down} order by wr_datetime desc");
// 원글만 다운로드 (코멘트 제외) , 2013-10-21 추가
//$temp=sql_fetch_array(mysql_query("select count(*) from {$excel_down} where wr_is_comment = '0' and wr_content = '{$wr_id}' "));
//$result=sql_query("select * from {$excel_down} where wr_is_comment = '0' and wr_content = '{$wr_id}' order by wr_datetime desc");
$number=$temp[0];
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
.txt {mso-number-format:'\@'}
</style>
</head>
<body>
<table>
<tr>
<td>번호</td>
<td>제목</td>
<td>아이디</td>
<td>이름</td>
<td>작성일</td>
<td>국실명</td>
<td>제출여부</td>
<td>실적입력 확인건수</td>
<td>총괄표 제출건수</td>
<td>평가종료여부</td>
<td>미종료사유</td>
<td>비고1</td>
<td>비고2</td>
<td>비고3</td>
<td>비고4</td>
</tr>
<?php
while($data=sql_fetch_array($result)) {
echo "
<tr>
<td>{$data['wr_id']}</td>
<td>{$data['wr_subject']}</td>
<td>{$data['mb_id']}</td>
<td>{$data['wr_name']}</td>
<td class='txt'>{$data['wr_datetime']}</td>
<td class='txt'>{$data['wr_1']}</td>
<td class='txt'>{$data['wr_2']}</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_6']}</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>
</tr>
";
$number--;
}
?>
</table>
</body>
</html>
답변 4
<?php
for($i=0; $i<count($_POST['check']); $i++){
$sql = "select * from 게시판테이블 where wr_id='".$_POST['check'][$i]."'";
$data = sql_fetch($sql);
echo "
<tr>
<td>{$data['wr_id']}</td>
<td>{$data['wr_subject']}</td>
<td>{$data['mb_id']}</td>
<td>{$data['wr_name']}</td>
<td class='txt'>{$data['wr_datetime']}</td>
<td class='txt'>{$data['wr_1']}</td>
<td class='txt'>{$data['wr_2']}</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_6']}</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>
</tr>
";
$number--;
}
?>
이렇게 구성하면 될 것 같은데 변수나 쿼리는 게시판에 맞게 수정하여 사용하면 될 것 같습니다.
!-->for 문을 주석처리하면 페이지가 표시된다면 for과 그 내부의 쿼리가 문제가 있는 것으로 생각됩니다.
post변수의 값이 맞다면 for문은 문제가 없을 것이라 생각됩니다.
내부의 쿼리를 한번 찍어보시는 것이 오류파악에 도움이 될 것 같습니다.
<?php
include_once "_common.php";
if (!$is_admin) {
alert("관리자만 접근 가능합니다.");
exit;
}
//$excel_down = $g5['table_prefix'].$_GET['bo_table']; //엑셀 다운로드 테이블
$excel_down = "g5_write_".$_GET['bo_table']; //엑셀 다운로드 테이블
// $excel_down = "g5_write_free"; //엑셀 다운로드 테이블
//$wr_id = $_GET['wr_id'];
$wr_id = $wr_id;
include_once "_common.php";
//@mysql_query("SET CHARACTER SET utf8"); // 한글깨지면 주석해지
if ($ms =="excel"){
$g5[title] = "엑셀 문서 다운로드";
header( "Content-type: application/vnd.ms-excel" );
header( "Content-Disposition: attachment; filename=excel.xls" );
//header( "Content-Description: PHP4 Generated Data" );
} else if ($ms =="power"){
$g5[title] = "파워포인트 문서 다운로드";
header( "Content-type: application/vnd.ms-powerpoint" );
header( "Content-Disposition: attachment; filename=power.ppt" );
// header( "Content-Description: PHP4 Generated Data" );
} else if ($ms =="word"){
$g5[title] = "워드 문서 다운로드";
header( "Content-type: application/vnd.ms-word" );
header( "Content-Disposition: attachment; filename=word.doc" );
//header( "Content-Description: PHP4 Generated Data" );
} else if ($ms =="memo"){
$g5[title] = "메모 문서 다운로드";
header( "Content-type: application/vnd.ms-notepad" );
header( "Content-Disposition: attachment; filename=text.txt" );
} else {
header( "Content-type: application/vnd.ms-excel" );
header( "Content-Disposition: attachment; filename=보고서.xls" );
}
header( "Content-Description: PHP5 Generated Data" );
// 원글 + 코멘트 다운로드
$temp=sql_fetch_array(sql_query("select count(*) from {$excel_down}"));
$result=sql_query("select * from {$excel_down} where wr_parent='$wr_id' order by wr_datetime desc");
// 원글만 다운로드 (코멘트 제외) , 2013-10-21 추가
//$temp=sql_fetch_array(mysql_query("select count(*) from {$excel_down} where wr_is_comment = '0' and wr_content = '{$wr_id}' "));
//$result=sql_query("select * from {$excel_down} where wr_is_comment = '0' and wr_content = '{$wr_id}' order by wr_datetime desc");
$number=$temp[0];
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
.txt {mso-number-format:'\@'}
</style>
</head>
<body>
<table>
<tr>
<td>번호</td>
<td>분류</td>
<td>제목</td>
<td>아이디</td>
<td>이름</td>
<td>작성일</td>
<td>국실명</td>
<td>제출여부</td>
<td>실적입력 확인건수</td>
<td>총괄표 제출건수</td>
<td>평가종료여부</td>
<td>미종료사유</td>
<td>비고1</td>
<td>비고2</td>
<td>비고3</td>
<td>비고4</td>
</tr>
<?php
while($data=sql_fetch_array($result)) {
echo "
<tr>
<td>{$data['wr_id']}</td>
<td>{$data['wr_parent']}</td>
<td>{$data['wr_subject']}</td>
<td>{$data['mb_id']}</td>
<td>{$data['wr_name']}</td>
<td class='txt'>{$data['wr_datetime']}</td>
<td class='txt'>{$data['wr_1']}</td>
<td class='txt'>{$data['wr_2']}</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_6']}</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>
</tr>
";
$number--;
}
?>
</table>
</body>
</html>
답변 감사합니다. view.skin.php 에서 글 번호가 넘어오는 것 같아서..꼼수로..뷰화면에 excel.php 파일 링크를 걸고 쿼리에 wr_parent='wr_id' 를 넣고 해결했습니다.