묻고답하기

게시판 목록에 확장변수를 포함시켜 리스트 형태로 출력시켜 사용하는 게시판이 있는데

 

그 목록대로 엑셀로 꼭 뽑아와야 할 일이 생겨서 php파일을 하나 만들었는데

 

XE의 DB 구조상의 문제인지 쿼리를 날려서 출력하면 확장변수가 세로로 출력되는 바람에 제목,이름,날짜도 덩달아 중복되서 출력이 되어버리네요

 

20130329_01.JPG

이렇게 출력이 되어야 하는데

 

 

20130329_02.JPG

이렇게 출력이 됩니다.

 

각 게시물마다 확장변수가 3개라면 30개의 게시물이 있다면 90개가 출력이 되어버립니다. ㅠㅠ

 

 XE 테이블 구조상 xe_documets와 xe_document_extra_vars 두개의 테이블에 따로 저장이 되므로  모듈번호와 글번호가 같은 확장변수를 뽑을 수 있게끔 했구요

 

문제는 확장변수 수가 여러개라면 xe_document_extra_vars 테이블의 var_idx 필드의 갯수만큼 세로로 정렬이 되어 버립니다.

 

소스는

 

<?
$info = array(
  "host" => "localhost",
  "user" => "id",
  "pass" => "pw",
  "db" => "dbname",
  "table" => "xe_documents",
  "table1" => "xe_document_extra_vars"
  );
 $getFields = array("title","nick_name","regdate","value");
 $stamp = mktime(); $str = date("Y년 m월 d일", $stamp);
 $stamp = mktime(); $fileout = date("Ymd", $stamp);

 header("Content-type: application/vnd.ms-excel");
 header("Content-Disposition: attachment; filename=$fileout.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());
 ?>


 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 </head>
 <body>
 <table border=1>  
 <tr>
 <td>항목A</td>
 <td>항목B</td>
 <td>항목C</td>
 <td>항목D</td>
 <td>항목E</td>
 <td>항목F</td>
 </tr>

<?
$result=mysql_query("select * from $info[table] as A, $info[table1] as B where A.module_srl=B.module_srl and A.document_srl=B.document_srl and A.module_srl='모듈번호' and B.var_idx order by A.document_srl, regdate desc");
  while( $data = mysql_fetch_assoc($result) ){
   echo"<tr>";
   foreach($data as $key => $val)
   {
    if(in_array($key, $getFields)) echo "<td>".htmlspecialchars($val)."</td>";
   }
   echo"</tr>";
  }
?>
 </table>
 </body> 
 </html>

 

 

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


답변중에


생각만 조금 더한다면 

쿼리 돌린 while문 안에 쿼리를 한번 더 돌리는 것은 어떨까요?

모듈이 엄청 많은 것은 아니니까 저정도 돌린다고 부하가 크지 않을 테니까요.


xe_documents를 쿼리로 불러오고

white문 안에 xe_document_extra_vars에서 모듈번호가 같은 것만 쿼리로 또 불러오는 것입니다.

그래서 출력을 xe_documents의 데이터만 가로로 죽 나열하고 tr로 넘기기 전에 xe_document_extra_vars의 해당 값을 또 가로로 배치하는 것이죠.


라고 말씀주셨는데.. 이해가 잘안되어서요. ㅠ 방법 알려주시면 감사하겠습니다.

글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
송민주 자료가 안올라가요 ;ㅂ; [1] 2007.08.10
크로우 처음에 받았던 mysql계정id mysql계정페스워드 대하여 [3] 2007.08.10
실황 이런 홈페이지는 얼마짜리 유료 계정 쓰면 되나요?? [2] 2007.08.10
넷찌 php에서 인크루드시 http포함 절대경로가 안되는 이유가 뭘까요?..ㅜㅜ [1] 2007.08.10
아이러니 자바스크립트에서 클릭시 이미지가 바뀌게 하는.. [1] 2007.08.10
백종근 이런경우 if문의 정의? [2] 2007.08.10
김해랑 버퍼링없이 웹에 동셩상 상영하려면 mpg로 하는거 나을까요? [3] 2007.08.10
타우너 윈도우용 mysql + iis5.0을 설치했는데요 mysql root 암호를 잊어버렸을때.... [2] 2007.08.10
황선필 노프레임 홈페이지 질문. [1] 2007.08.10
테크노스 노프레임 4단 구조, 게시판 제대로 보이는 방법 질문입니다.. [2] 2007.08.10
임헌정 mysql 들어 가려 하는데 /usr/local/mysql이 없어요.. [1] 2007.08.10
윤영필 버튼만들 때 이건 어떻게 만들죠? 그림설명 [1] 2007.08.10
Agape 여기 홈페이지 좀 봐주세요. [3] 2007.08.10
竹馬之友 APM 설치후 테스트 하는데 다운로드창이 뜨는 이유? [2] 2007.08.10
SKpark 한셀에 여러테이블을 가로로 나열하는 방법은? [1] 2007.08.10
won 디자인에 브러쉬를 많이 사용한 홈페이지좀 알려주세요~ [2] 2007.08.10
비공개 아는 사이트인데, 무슨 형식인가요 ? (ex.노프레임.. 이런거 ) [5] 2007.08.10
국승선 가르켜주세요 [1] 2007.08.10
won 인터넷에 떠돌아 다니는 이미지 써도 저작권 걸리나요? [6] 2007.08.10
:D내나이54 T_T저장이 이상하게 되요 [1] 2007.08.10