웹마스터 팁

<?php
//url 로 직접 불러오는것을 방지
 if(!strstr($_SERVER['HTTP_REFERER'],$_SERVER['SERVER_NAME'])&& !strstr($_SERVER['HTTP_REFERER'],'out_excel.php')) exit;
 
$servername = "localhost";
$username = "user ID";
$password = "DB_password";
$table = "xe_documents";
$database = "DB name";
$module_srl = "module srl"; // 숫자 입력

$con = new mysqli($servername,$username,$password,$database);

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$getcolumns = array("title"); //출력원하는 칼럼을 배열로 입력
 
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=doc_".date('Ymd').".xls");
 

?>
 
<!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

//제목 불러오기

$sql = "SHOW COLUMNS FROM $database.$table";
$dbcolumns = mysqli_query($con,$sql); //xe_documents에서 칼럼값 불러오기

// fetch associative array
while ($rowname = mysqli_fetch_row($dbcolumns)) {
    if( in_array($rowname[0], $getcolumns) ) echo "<th>".$rowname[0]."</th>";
}

//확장변수의 타이틀은 값이므로      
$result = mysqli_query($con, "select var_name from xe_document_extra_keys where module_srl = $module_srl");                 
while( $data = mysqli_fetch_array($result) ){                         
    echo "<th>".htmlspecialchars($data[var_name])."</th>";

 
echo"</tr>";

//데이터 불러오기
$result = mysqli_query($con, "select * from $table where module_srl=$module_srl");
while( $data = mysqli_fetch_assoc($result) ){
    echo"<tr>";
    foreach( $data as $key => $val ){
        if( in_array($key, $getcolumns) ){
            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=mysqli_query($con, "select eid from xe_document_extra_keys where module_srl = $module_srl");     
 while($extra_title=mysqli_fetch_array($query)){     
  echo"<td>";
  $egetFields = array("value","eid"); //확장변수 값을 불러와 eid값이 같은곳에 출력
  $extra_result = mysqli_query($con, "select * from xe_document_extra_vars where document_srl = $d_srl"); 
  while( $edata = mysqli_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>";
}
 
mysqli_close($con);

?>
</table>
</body>
</html>

------------------------------------------------------------------------------------------------------------------

https://www.xpressengine.com/index.php?mid=tip&search_target=title_content&search_keyword=%EC%97%91%EC%85%80&document_srl=22795784

글을 조금 수정해서 php7에서 사용할 수 있도록 했습니다.

만약, 오류가 나더라도 답변할 실력이 안됩니다.

centos 7, php7.2 에서 테스트 했습니다.

 

제목 글쓴이 날짜
강서오피 ⦑출장안마사이트.COM⦒ 강서오피 강서OP 강서건마 강서오피 koykoyah 2025.02.21
서초오피 서초출장안마 ⦑오피쓰주소.COM⦒ 서초OP 서초오피 서초오피 koykoyah 2025.02.21
신천오피 ⦑오피.CLUB⦒ 신천OP 신천오피 신천출장샵 신천오피 koykoyah 2025.02.21
제주도오피 ⦑출장안마사이트.COM⦒ 제주도마사지 제주도오피 제주도오피 제주도OP koykoyah 2025.02.21
홍대오피 홍대OP ⦑오피사이트.NET⦒ 홍대휴게텔 홍대오피 홍대오피 koykoyah 2025.02.21
서초오피 서초OP ⦑오피사이트.NET⦒ 서초휴게텔 서초오피 서초오피 koykoyah 2025.02.21
분당오피 분당출장안마 ⦑오피쓰.COM⦒ 분당OP 분당오피 분당오피 koykoyah 2025.02.21
인천오피 ⦑오피.CLUB⦒ 인천마사지 인천오피 인천오피 인천OP koykoyah 2025.02.21
대전오피 대전오피 ⦑오피쓰주소.COM⦒ 대전OP 대전스파 대전오피 koykoyah 2025.02.21
해운대오피 해운대출장안마 ⦑출장안마사이트.COM⦒ 해운대OP 해운대오피 해운대오피 koykoyah 2025.02.21
강동오피 ⦑출장안마사이트.COM⦒ 강동마사지 강동오피 강동오피 강동OP koykoyah 2025.02.21
세종오피 ⦑오피쓰주소.COM⦒ 세종OP 세종오피 세종출장샵 세종오피 koykoyah 2025.02.21
답십리오피 ⦑오피쓰주소.COM⦒ 답십리마사지 답십리오피 답십리오피 답십리OP koykoyah 2025.02.21
세종오피 세종OP ⦑오피쓰.COM⦒ 세종휴게텔 세종오피 세종오피 koykoyah 2025.02.21
포항오피 ⦑오피쓰주소.COM⦒ 포항오피 포항OP 포항건마 포항오피 koykoyah 2025.02.21
평촌오피 ⦑오피쓰주소.COM⦒ 평촌오피 평촌OP 평촌건마 평촌오피 koykoyah 2025.02.21
부산오피 ⦑오피쓰.COM⦒ 부산오피 부산출장마사지 부산오피 부산OP koykoyah 2025.02.21
강남오피 강남OP ⦑오피사이트.NET⦒ 강남휴게텔 강남오피 강남오피 koykoyah 2025.02.21
홍대오피 ⦑출장마사지안내.COM⦒ 홍대마사지 홍대오피 홍대오피 홍대OP koykoyah 2025.02.21
송탄오피 ⦑오피사이트.NET⦒ 송탄오피 송탄OP 송탄건마 송탄오피 koykoyah 2025.02.21