여분필드 관련 질문

여분필드 관련 질문

QA

여분필드 관련 질문

본문

질문이 너무 길어 다시 요약했습니다.

 

요지는 게시물들을 엑셀로 저장할때 여분필드를 나누어 저장한 경우의

값을 어떻게 처리하는 지 조언 부탁드립니다.

 

게시글의 값중 wr_22는 다음과 같이 분할해서 저장했습니다.


<?
$wr_22 = explode("-",$write['wr_22']);
$sales1 = $wr_22[0];
$sales2 = $wr_22[1];
$sales3 = $wr_22[2];
$sales4 = $wr_22[3];
?>

 

저장후 목록화면을 보면 잘보이는데 

엑셀파일로 저장하고 엑셀에서 보면 안찍혀서 도움을 요청드립니다.


소스내용이 길어서 값을 다루는 부분만 1,2로 요약하자면 이렇습니다.


1. list.skin.php

목록에서 값이 잘보입니다.



<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
.
.
.
<form name="fboardlist" id="fboardlist" action="./board_list_update.php" onsubmit="return fboardlist_submit(this);" method="post">
.
.
.
 
<!--wr_1-->
                <td class="td_field" title="<?php echo $list[$i]['wr_1'] ?>"><input type="text" name="wr_1[]" value="<?php echo $list[$i]['wr_1'] ?>" id="wr_1_<?php echo $i ?>" class="lists"></td>
            <?
            $wr_22 = explode("-",$list[$i]['wr_22']);
            $sales1 = $wr_22[0];
            $sales2 = $wr_22[1];
            $sales3 = $wr_22[2];
            $sales4 = $wr_22[3];
            ?>
<!--sales1-->
                <td class="td_field" title="<?php echo $list[$i]['sales1'] ?>"><input type="text" name="sales1[]" value="<?=$sales1?>" id="sales1_<?php echo $i ?>" class="lists"></td>
<!--sales2-->
                <td class="td_field" title="<?php echo $list[$i]['sales2'] ?>"><input type="text" name="sales2[]" value="<?=$sales2?>" id="sales2_<?php echo $i ?>" class="lists"></td>
<!--sales3-->
                <td class="td_field" title="<?php echo $list[$i]['sales3'] ?>"><input type="text" name="sales3[]" value="<?=$sales3?>" id="sales3_<?php echo $i ?>" class="lists"></td>
 
 .
.
.
                
                
                <script>
                $(document).ready(function(){
.
.
.
                        
                        var value1 = $("#wr_1_<?php echo $i ?>").val(); //wr_1
                        var value2 = $("#sales1_<?php echo $i ?>").val(); //sales1
                        var value3 = $("#sales2_<?php echo $i ?>").val(); //sales2
                        var value4 = $("#sales3_<?php echo $i ?>").val(); //sales3
                         
.
.
.

 

 

2. excel_down.php

 

엑셀파일로 저장해서 보면 안보입니다.



<?php
include_once('./_common.php');
$csv = 'xls';
 
// MS엑셀 XLS 데이터로 다운로드 받음
if ($csv == 'xls')
{
    
    if($_GET[stx]){ 
    
        $searches .= "and wr_1 = '{$_GET[stx]}' or sales1 = '{$_GET[stx]}' or sales2 = '{$_GET[stx]}' or sales3 = '{$_GET[stx]}' )";
    }
.
.
.

    $workbook = new writeexcel_workbook($fname);
    $worksheet = $workbook->addworksheet();
    // Put Excel data
    $data = array('No','필드명1','필드명2','필드명3','필드명4');
    $data = array_map('iconv_euckr', $data);
.
.
.
         $worksheet->write($i, 1, $row['wr_1']);
         $worksheet->write($i, 11, $row['sales1']);
         $worksheet->write($i, 12, $row['sales2']);
         $worksheet->write($i, 13, $row['sales3']);

    .
.
.
 


참고스킨
https://sir.kr/g5_skin/11199?page=0&stx=%EC%97%91%EC%85%80

이 질문에 댓글 쓰기 :

답변 1

excel_down.php 의 for 문 안에도,

$wr_22 = explode("-",$write['wr_22']);

$sales1 = $wr_22[0];

$sales2 = $wr_22[1];

$sales3 = $wr_22[2];

$sales4 = $wr_22[3];

코드가 있어야 될 것 같습니다.  혹 이 코드가 있는지.. 살펴볼 수 있을 것 같고..

없다면 넣어준 후..

 

$worksheet->write($i, 1, $row['wr_1']);          

$worksheet->write($i, 11, $row['sales1']);        

$worksheet->write($i, 12, $row['sales2']);          

$worksheet->write($i, 13, $row['sales3']);

->

$worksheet->write($i, 1, $row['wr_1']);          

$worksheet->write($i, 11, $sales1);        

$worksheet->write($i, 12, $sales2);          

$worksheet->write($i, 13, $sales3);

으로 변경해주어야 할 것 같습니다.

 

그리고 엑셀파일의 하단부에.. 엑셀파일 형태로 다운받는 코드의 시작부인..

header("Content-Type: application/x-msexcel; ~

바로 위에 exit; 를 넣어주어.. 먼저 화면에 재대로 출력되는지를 살펴보는 것도 좋을 듯 합니다.

중간중간 디버깅 코드로 변수에 값이 제대로 들어가있는지를 확인해 볼 수 있습니다.

 

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

회원로그인

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