묻고답하기

https://www.xpressengine.com/tip/22795784

위 한이73님의 팁을 이용해서 게시판글을 엑셀로 불러오는데 성공했습니다...

카테고리를 불러오기 위해 아래 소스중에

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

부분을 변경했구요..

 

 

카테고리가 숫자로 출력되서보니아래처럼 한다고 하면 되는데...

어떻게 하는지 자세히 좀 설명해 주실분 계신가요? 

카테고리는 10개 미만입니다.

 

'xe_documents 테이블에는 카테고리 srl 만 저장이 되니 분류번호로 분류이름을 따로 매칭 시키면 될것 같네요 (많지 않다면)'

 

 

<?php
//url 로 직접 불러오는것을 방지
if(!strstr($_SERVER['HTTP_REFERER'],$_SERVER['SERVER_NAME'])&& !strstr($_SERVER['HTTP_REFERER'],'out_excel.php')) exit;
 
$info = array(
"host" => "localhost",
"user" => "db명",
"pass" => "db비번",
"db" => "xe테이블명",
"table" => "xe_documents",
"module_srl" => "출력할게시판slr",
);
$getFields = array("category_srl","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 남기남
꿍꿍이 회원 사용자 항목 표시가 안되요. [1] file 2016.04.23 by HowtoXE
서사모 게시판글 엑셀로 출력시 카테고리 문제 [1] 2016.04.23 by HowtoXE
김정호 홈페이지 설명(신디케이션) [1] 2016.04.23 by HowtoXE
happy19 익명게시판에 글쓴이를 운영자가 알수있니요? [1] 2016.04.23 by HowtoXE
애플즈 mysqli_innodb 문의드려요! [1] 2016.04.23 by HowtoXE
happy19 익명게시판에서 운영자가 공지를 쓰면. [3] 2016.04.23 by happy19
범고래즈 닉네임없이 게시글 등록 관련 문의 [1] 2016.04.23 by HowtoXE
hjkguy767 설치된 모듈을 db 테이블에서 찾는 법을 알려 주세요? [1] 2016.04.23 by HowtoXE
진짜만들고싶다 웹서버 환경구축방법 문의 [2] 2016.04.23 by UCrew
야광밤비 신규 회원이 저희 싸이트 가입시 메일링 가입 질문 여부의 기본 답변을 yes로 하는 방법에 대하여. [3] 2016.04.23 by UCrew
happy19 경고/주의 현황 이것도 XE껀가요?? [1] file 2016.04.23 by 불금
이수호 예전에 유료 누리고 쇼핑몰 있지 안았나요? [2] 2016.04.23 by 이수호
마루타현 확장변수 값에 따라 자동으로 카테고리 변경되게 할수 있나요? [13] 2016.04.23 by songmira80
happy19 이 로그인 스킨은 어디껀가요?? [1] file 2016.04.23 by 라자루스
랑그 혹시 특정 게시판에 글을 작성할시 분류 이동 과 그룹변경이 될까요? [1] 2016.04.23 by 라자루스
타래 XE 처음 설치후 페이지, 게시판 생성 문의 [3] file 2016.04.23 by 라자루스
happy19 추천/비추천이 안된다고 나오네요??? [1] file 2016.04.23 by 라자루스
happy19 이 로그인창 딴걸로 바꿀수없나요?? [1] file 2016.04.22 by 불금
우주거머리 회원가입 어떻게 시키는건가요? [3] 2016.04.22 by 불금
夜飛 외계어 출력 [1] file 2016.04.22 by UCrew
랑그 XE 게시판 제목에 < , > & 같은걸 사용시 & 나 gt 같은걸로 바뀝니다. [1] 2016.04.22 by UCrew
우주거머리 하위메뉴글이 전체메뉴에 보일수있도록하는방법 [1] 2016.04.22 by UCrew
초콜렛시몽 XE설치하는데 DB에서 계속 막히네요~ file  
kyurae sitemap.xml 작성시 오류 [8] 2016.04.22 by kyurae
이상석 홈페이지 복원문의 [2] 2016.04.22 by imyouridea
도로테비 스케치북 쓰기 버튼을 처음부터 권한자에게만 보이게 하려면 [3] 2016.04.22 by imyouridea
김누누 pc로 접속했는데도 모바일로 보입니다 [3] 2016.04.22 by imyouridea
sunshine 네이버에 사이트 검색하면 주소가 계속 cafe24가 나와요.. [1] 2016.04.22 by imyouridea
핫산123 ssl 적용하는법 이거맞나요 ?  
찌꾸 [오류] 공개 되어 있지 않습니다.