묻고답하기

엑셀 출력시 에러메세지가 발생이 되는데 어떻한 부분을 바꿔야 할까요?

3.png

 

<?php

//url 로 직접 불러오는것을 방지

if(!strstr($_SERVER['HTTP_REFERER'],$_SERVER['SERVER_NAME'])&& !strstr($_SERVER['HTTP_REFERER'],'out_excel.php')) exit;

 

$info = array(

"host" => "localhost",

"user" => "root",

"pass" => "autoset",

"db" => "dt",

"table" => "dt_documents",

"module_srl" => "737",

);

$getFields = array("title","regdate","content"); //출력원하는 칼럼을 배열로 입력

 

header("Content-type: application/vnd.ms-excel");

header("Content-Disposition: attachment; filename=doc_".date('Ymd').".xls");

 

 

$con = mysql_connect($info[host], $info[user], $info[pass]) || die(mysql_error());

mysql_query("set names utf8");

$con_db = mysql_select_db($info[db]) || die(mysql_error());

?>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html lang="EN" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv=Content-Type content=text/html; charset="utf-8">

</head>

<body>

<table border=1>

<tr align=center>

 

<?php

//제목 불러오기

$fields = mysql_list_fields("$info[db]", "$info[table]");

$columns = mysql_num_fields($fields);

 

for( $i=0 ; $i<$columns ; $i++ )

{

    $field[$i]=mysql_field_name($fields, $i);

    if( in_array($field[$i], $getFields) ) echo "<th>".$field[$i]."</th>";

}

 

//확장변수의 타이틀은 값이므로       

$result = mysql_query("select  var_name from xe_document_extra_keys where module_srl = $info[module_srl]");                  

while( $data = mysql_fetch_array($result) )

{                          

    echo "<th>".htmlspecialchars($data[var_name])."</th>";

}  

 

echo"</tr>";             

 

 

//데이터 불러오기

$result = mysql_query("select * from $info[table] where module_srl = $info[module_srl]");

while( $data = mysql_fetch_assoc($result) )

{

    echo"<tr>";

    foreach( $data as $key => $val )

    {

        if( in_array($key, $getFields) ) 

        {

            if ($key ==  'regdate') { 

                echo "<td   style='mso-number-format:\"0_ \";' >".htmlspecialchars($val)."</td>";               

            }elseif ($key ==  'content'){       //내용 출력할경우 태그가 그대로 출력됨         

                //echo "<td>".$val."</td>";     //셀이 두칸이상으로 늘어남

                echo "<td >".htmlspecialchars(strip_tags(str_replace(" ","",$val)))."</td>";

            }else {

                echo "<td>".htmlspecialchars($val)."</td>";

            }  

        }

 

        if ($key ==  'document_srl'){           //확장변수 불러올때 사용

            $d_srl=$val;

        }

 

    }

                //확장변수 출력 ////////////////////////////////////////////

                //eid리스트를 불러온다

                $query=mysql_query("select eid from xe_document_extra_keys where module_srl = $info[module_srl]");      

                while($extra_title=mysql_fetch_array($query))

                {      

                    echo"<td>";

 

                    $egetFields = array("value","eid");  

                    //확장변수 값을 불러와 eid값이 같은곳에 출력

                    $extra_result = mysql_query("select * from xe_document_extra_vars where document_srl = $d_srl");  

                    while( $edata = mysql_fetch_assoc($extra_result) )

                    {

                        $extra_str="";

                        foreach( $edata as $key => $val ){

                            if( in_array($key, $egetFields) ){                          

                                $extra_str = $val.",".$extra_str;

                            }

                        }

 

                        $extra_arr=explode(",",$extra_str);                                

                        if ($extra_title[eid]==$extra_arr[0]){

 

                            //전화번호값은 "|@|" 를 "-" 로 변경

                            if($extra_title[eid]=="mb_phone_Number"){

                                echo str_replace("|@|","-",htmlspecialchars($extra_arr[1]));

 

                            //기타 배열값들은 ',' 로 변경

                            }elseif($extra_title[eid]=="mb_incomplete"||$extra_title[eid]=="mb_cs"){

                                echo str_replace("|@|",",",htmlspecialchars($extra_arr[1]));

                            }else{

                                echo htmlspecialchars($extra_arr[1]);                     

                            }

                        }

                    }

 

                    echo"</td>";   //eid값이 없으면 빈칸입력

                }              

                /////////////////////////////////////////////////////////////////////

 

    echo"</tr>";

}

 

 

?>

</table>

</body>

</html>

 

글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
돼지꿈 지금, 관리자페이지 사이트디자인설정안되는거맞죠?  
권만주 이미지 리사이즈할 때 메타정보 살리는 방법 없을까요? [3] 2018.12.19 by 권만주
psjj**** 윈도우10에 설치할려고 합니다.  
callipark 에러 메세지 해결 방법 문의드립니다. ㅠㅠ  
NAMSOON 혹시 이부분 수정가능한가요? [2] file 2018.12.19 by NAMSOON
HSHAM 오늘 갑자기 게시글이 하나도 안보입니다. [1] 2018.12.19 by sejin7940
검은내일 XE를 SSO구현하는데 질문입니다.  
공주 안녕하세요 file  
파워마케팅 안녕하세요 file  
쏘쏘쏘 게시물 뷰어 익명 처리 방법  
homi**** 처음 설치하는데 php 오류가나요 [2] 2018.12.18 by homi****
Williamhoo 게시판 분류 폭 문제. file  
sol**** 홈페이지가 닫혀서 노출이 되질 않습니다. file  
네오스카이 쿼리문 순서 변경 [2] 2018.12.17 by 네오스카이
김성준 에러문의 "통합 검색을 사용할 수 없습니다." [2] file 2018.12.17 by ITNJOB
기광공 모바일 첫화면 슬라이드 가능한가요? [1] 2018.12.17 by DoorWeb
12123333 게시판에서 엑셀파일을 업로드하면, 테이블로 본문에 삽입되는 기능이 있나요? [2] 2018.12.17 by 12123333
bumsoo1125 가위바위보,퀴즈 모듈 다운로드  
BJVolvo이현석 xe 다국어 500오류 [1] file 2018.12.16 by sejin7940
우주 제발 도와주세요. 포인트 차감문제 [1] file 2018.12.16 by sejin7940
기광공 첫페이지 홈에서 슬라이드 아래 내용 수정 file  
AimJin MAC에 MAMP 설치 후 XE설치할때 문제해결 부탁드릴께요. [3] 2018.12.16 by AimJin
누리 Xedition 상단 header 부분 바탕색 비꾸려면? [2] 2018.12.16 by 누리
케레인 외부사이트를 안에 집어넣으려면 어떻게 해야하나요? [3] 2018.12.16 by LYG
져니스케입스코리아 1.11 업데이트 후 접속하면 이렇게 됩니다!  
마꼬꼬 VPS 서버 선택 시 해외 방문자 관련  
벼리 rss의 title이 ...으로 생략되어 버립니다  
김심술 윈도우10, IIS 환경에서 XE 설치시 MySQL 항목이 활성화 되지 않습니다. [1] file 2018.12.14 by DoorWeb
마놀희 xeicon spinner 적용시켰는데 움직이질 않아요;; [1] 2018.12.14 by DoorWeb
복음지기 도메인이 변경이 되서 사이트오류가 나네요