게시판목록 엑셀로 뽑아내기
본문
<?php
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
$colspan = 5;
if ($is_checkbox) $colspan++;
if ($is_good) $colspan++;
if ($is_nogood) $colspan++;
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
?>
<span onclick="Excel()">[excel]</span>
<!-- 게시판 목록 시작 { -->
<div id="bo_list" style="width:<?php echo $width; ?>">
<!-- 게시판 카테고리 시작 { -->
<?php if ($is_category) { ?>
<nav id="bo_cate">
<h2><?php echo $board['bo_subject'] ?> 카테고리</h2>
<ul id="bo_cate_ul">
<?php echo $category_option ?>
</ul>
</nav>
<?php } ?>
<!-- } 게시판 카테고리 끝 -->
<form name="fboardlist" id="fboardlist" action="./board_list_update.php" onsubmit="return fboardlist_submit(this);" method="post">
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
<input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="spt" value="<?php echo $spt ?>">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="sw" value="">
<div class="tbl_head01 tbl_wrap">
<table>
<caption><?php echo $board['bo_subject'] ?> LIST</caption>
<thead>
<tr>
<?php //제목이 없고 출력 순서가 있는 경우
if($board['bo_16_subj'] != "") {
$board['bo_16_subj'] = preg_replace("/\s+/", "", $board['bo_16_subj']);
$field_display = explode("|", $board['bo_16_subj']);
for($j = 0; $j < count($field_display); $j++) {
if($field_display[$j] != "이름" && $field_display[$j] != "날짜" ) { // 숫자
$bo_field = $field_display[$j] + 10;
$field_value_exp = explode("#!", $board['bo_'.$bo_field]); //순서 숫자에 해당하는 제목 추출
?>
<th scope="col" style="text-align:center;width:<?php echo $field_value_exp[7] ?>px;"><?php echo $field_value_exp[0] ?></th>
<?php }
if($field_display[$j] == "이름") { // ?>
<th class="td_name">AG</th>
<?php }
if($field_display[$j] == "날짜") { // ?>
<th class="td_date">DATE</th>
<?php } ?>
<?php } ?>
<?php } ?>
<?php //모두 출력
if($board['bo_17_subj'] == "" && $board['bo_16_subj'] == "") {
for($j = 11; $j <= $board['bo_29_subj'] + 10; $j++) {
$field_value_exp = explode("#!", $board['bo_'.$j]);
//echo $board['bo_'.$j];
if($board['bo_'.$j] != "") { // 여분 필드만큼 출력?>
<th class="td_form" style="width:<?php echo $field_value_exp[7] ?>px;"><?php echo $field_value_exp[0] ?></th>
<?php } ?>
<?php } ?>
<th class="td_form">AG</th>
<th class="td_form">DATE</th>
<?php } ?>
</tr>
</thead>
<tbody>
<?php
for ($i=0; $i<count($list); $i++) {
?>
<tr class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?>">
<? if($board['bo_17_subj'] != "") { ?>
<td class="td_form"> <a href="<?php echo $list[$i]['href'] ?>"><?php echo $board['bo_17_subj'] ?> </a></td>
<td class="td_name"> <?php echo $list[$i]['name'] ?></td>
<td class="td_date"><?php echo $list[$i]['datetime2'] ?></td>
<?php } ?>
<?php //제목이 없고 출력 순서가 있는 경우
if($board['bo_17_subj'] == "" && $board['bo_16_subj'] != "") {
$board['bo_16_subj'] = preg_replace("/\s+/", "", $board['bo_16_subj']);
$field_value = $board["bo_".$j];
$field_value_exp = explode("#!", $field_value);
$field_display = explode("|", $board['bo_16_subj']);
if($field_value_exp[8] != " ") $unit = $field_value_exp[8];
for($j = 0; $j < count($field_display); $j++) {
$bo_field = $field_display[$j] + 10;
if($field_display[$j] != "이름" && $field_display[$j] != "날짜" ) { // 숫자 ?>
<td class="td_form"><? $m = $bo_field; if($j == 0) { ?> <a href="<?php echo $list[$i]['href'] ?>"> <? } ?> <?php echo $list[$i]['wr_'.$m] ?><? if($j == 0) echo "</a>"; ?><? echo $unit ?></td>
<?php }
if($field_display[$j] == "이름") { // ?>
<td class="td_form"><? if($j == 0) { ?> <a href="<?php echo $list[$i]['href'] ?>"> <? } ?> <?php echo $list[$i]['name'] ?><? if($j == 0) echo "</a>"; ?></td>
<?php }
if($field_display[$j] == "날짜") { // ?>
<td class="td_form"><? if($j == 0) { ?> <a href="<?php echo $list[$i]['href'] ?>"> <? } ?> <?php echo $list[$i]['datetime2'] ?><? if($j == 0) echo "</a>"; ?></td>
<?php } ?>
<?php } ?>
<?php } ?>
<?php //모두 출력
if($board['bo_17_subj'] == "" && $board['bo_16_subj'] == "") {
for($j = 11; $j <= $board['bo_29_subj'] + 10; $j++) {
$field_value = $board["bo_".$j];
$field_value_exp = explode("#!", $field_value);
if($field_value_exp[8] != " ") $unit = $field_value_exp[8];
if($list[$i]['wr_'.$j] != "") { // 여분 필드만큼 출력?>
<td class="td_form"><? if($j == 11) { ?> <a href="<?php echo $list[$i]['href'] ?>"> <? } ?><?php echo $list[$i]['wr_'.$j] ?><? if($j == 11) echo "</a>"; ?><? if($field_value_exp[1] != "math") echo $unit ?></td>
<?php } ?>
<?php } ?>
<td class="td_name"> <?php echo $list[$i]['name'] ?></td>
<td class="td_date"><?php echo $list[$i]['datetime2'] ?></td>
<?php } ?>
</tr>
<?php } ?>
<?php if (count($list) == 0) { echo '<tr><td colspan="'.$colspan.'" class="empty_table">NO BOOKING</td></tr>'; } ?>
</tbody>
</table>
</div>
<?php if ($list_href || $is_checkbox || $write_href) { ?>
<div class="bo_fx">
<?php if ($list_href || $write_href) { ?>
<ul class="btn_bo_user">
<?php if ($list_href) { ?><li><a href="<?php echo $list_href ?>" class="btn_b01">BOOKING LIST</a></li><?php } ?>
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b02">NEW BOOKING<?php echo $board['bo_10_subj'] ?></a></li><?php } ?>
</ul>
<?php } ?>
</div>
<?php } ?>
</form>
</div>
<? if ($is_admin) { ?>
<!-- 게시판 검색 시작 { -->
<fieldset id="bo_sch">
<legend>게시물 검색</legend>
<form name="fsearch" method="get">
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="sop" value="and">
<label for="sfl" class="sound_only">검색대상</label>
<select name="sfl" id="sfl">
<?php //제목이 없고 출력 순서가 있는 경우
for($j = 11; $j <= $board['bo_29_subj'] + 10; $j++) {
$field_value = $board["bo_".$j];
$field_value_exp = explode("#!", $field_value);
if($field_value_exp[4] != 2 && $board["bo_".$j] != "") { // 검색 항목이 체크되어 있다면 ?>
<option value="<? echo "wr_".$j?>,1"<?php echo get_selected($sfl, 'wr_$j,1'); ?>><? echo $field_value_exp[0]?></option>
<?php } ?>
<?php } ?>
<option value="mb_id,1"<?php echo get_selected($sfl, 'mb_id,1'); ?>>AG</option>
</select>
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx" class="frm_input required" size="15" maxlength="15">
<input type="submit" value="SEARCH" class="btn_submit">
</form>
</fieldset>
<!-- } 게시판 검색 끝 -->
<? }else{ ?>
<?}?>
<?php if($is_checkbox) { ?>
<noscript>
<p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>
</noscript>
<?php } ?>
<!-- 페이지 -->
<?php echo $write_pages; ?>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<?php if ($is_checkbox) { ?>
<script>
function all_checked(sw) {
var f = document.fboardlist;
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == "chk_wr_id[]")
f.elements[i].checked = sw;
}
}
function fboardlist_submit(f) {
var chk_count = 0;
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
chk_count++;
}
if (!chk_count) {
alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
return false;
}
if(document.pressed == "선택복사") {
select_copy("copy");
return;
}
if(document.pressed == "선택이동") {
select_copy("move");
return;
}
if(document.pressed == "선택삭제") {
if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n답변글이 있는 게시글을 선택하신 경우\n답변글도 선택하셔야 게시글이 삭제됩니다."))
return false;
f.removeAttribute("target");
f.action = "./board_list_update.php";
}
return true;
}
// 선택한 게시물 복사 및 이동
function select_copy(sw) {
var f = document.fboardlist;
if (sw == "copy")
str = "복사";
else
str = "이동";
var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");
f.sw.value = sw;
f.target = "move";
f.action = "./move.php";
f.submit();
}
// Excel 20121023
function Excel() {
if($("input[name='chk_wr_id[]']:checked").size() < 1) {
alert("Download Excel");
}
var fm = document.fboardlist;
fm.target = "hiddenframe";
fm.action = "/booking/bbs/excel.php";
fm.method = "post";
fm.submit();
}
</script>
<?php } ?>
<!-- } 게시판 목록 끝 -->
게시판 리스트내용을 엑셀파일로 저장하는걸 만들고 있는데 문제가 있습니다.
위 list.skin.php파일에서 아래 여분필드 내용을 뽑아내야하는데 <td></td>에 어떻게 넣어야할지 모르겠네요
<?=$row['wr_name']?> 이건 이름이고 <?=$row['wr_datetime]?> 이건 날짜인 것 처럼 여분필드 내용도
<?=$row['wr_1]?> 이런식으로 하니까 엑셀파일에서 내용이 출력되지 않네요..
어떻게 넣어야 될까요? 한참 헤매고 있네요.. 도움주세요! ㅠㅠ
<?
header("Content-Disposition: attachment; filename=iviewtour.xls");
header("Content-Description: PHP4 Generated Data");
include "_common.php";
if($_POST['chk_wr_id']) {
$in = implode(", ", $_POST['chk_wr_id']);
$where = "WHERE wr_id IN($in)";
}
?>
<table border="1">
<tr>
<th>DATE</th>
<th>AG</th>
<th>CHECK IN</th>
<th>CHECK OUT</th>
<th>BKK</th>
</tr>
<?
$que = sql_query("SELECT * FROM g5_write_".$_POST['bo_table']." ".$where." ORDER BY wr_id DESC");
while($row = sql_fetch_array($que)) {
?>
<tr>
<td><?=$row['wr_datetime']?></td>
<td><?=$row['wr_name']?></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<?
}
?>
</table>
!-->!-->
답변을 작성하시기 전에 로그인 해주세요.