지리산의아침! 지리산의 먹거리,볼거리,사람들의 삶의 이야기가 있는곳을 꿈꿉니다.

맛있고 수확량이 많은 지리산 참조은고사리종근을 분양합니다

로그인






2024 . 4  
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

방문자수

전체 : 3,387,307
오늘 : 4,575
어제 : 4,995

페이지뷰

전체 : 80,548,522
오늘 : 106,940
어제 : 119,451

아래 내용을 php파일로 만들어 주소창에서 출력하면 해당하는 정보를 입력시 원하는 출력 내용을 선택하여 출력이 가능합니다.

같은 내용이 하단에 파일로 있으니 다운받아 사용하세요.

 

<?php
 session_start();
 if(filter_has_var(INPUT_POST, "default")) unset($_SESSION['host'],$_SESSION['user'],$_SESSION['pass'],$_SESSION['db'],$_SESSION['con_db'],$_SESSION['prefix']);

 $_SESSION['host'] = $_SESSION['host']?$_SESSION['host']:filter_input(INPUT_POST, "host");
 $_SESSION['user'] = $_SESSION['user']?$_SESSION['user']:filter_input(INPUT_POST, "user");
 $_SESSION['pass'] = $_SESSION['pass']?$_SESSION['pass']:filter_input(INPUT_POST, "pass");
 $_SESSION['db'] = $_SESSION['db']?$_SESSION['db']:filter_input(INPUT_POST, "db");
 $_SESSION['prefix'] = $_SESSION['prefix']?$_SESSION['prefix']:filter_input(INPUT_POST, "prefix");
 
 $info = array(
   "Mtable" => $_SESSION['prefix']."_member",
   "MGtable" =>  $_SESSION['prefix']."_member_group",
   "MGMtable" => $_SESSION['prefix']."_member_group_member"
   );
 $top =<<<TOP
<!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">
<style type="text/css">
.center {text-align:center}
.border {border:2px green solid}
.right {text-align:right}
.marginAuto {margin:0 auto}
.blueBorder {border:1px blue solid}
.bold {font-weight:bold; color:green}
.format {mso-number-format:'0_ '}
.infoForm input {width:100px}
.infoForm label {color:blue}
legend {color:red; font-weight:bold}
table {border:1px gray solid}
</style>
</head>
<body>\r\n
TOP;
 $userTitle = "DB에 접속할 때\r\n사용하는 아이디";
 $passTitle = "DB에 접속할 때\r\n사용하는 비밀번호";
 $dbTitle = "DB에 접속해서\r\nDB명을 확인할 수 있다";
 $prefixTitle = "예)DB의 테이블에서 보면\r\nxe_members 라는\r\n테이블이 있으면 이 경우의\r\nprefix는 xe 이것이다.";
 $infoForm =<<<FORM
<form method="post" action="" class="infoForm">
<input type="hidden" name="default" value="1" />
<label>Host</label><input type="text" name="host" value="{$_SESSION['host']}" />
<label>User</label><input type="text" name="user" value="{$_SESSION['user']}" title="{$userTitle}" />
<label>Pass</label><input type="password" name="pass" value="{$_SESSION['pass']}" title="{$passTitle}" />
<label>DB</label><input type="text" name="db" value="{$_SESSION['db']}" title="{$dbTitle}" />
<label>Prefix</label><input type="text" name="prefix" value="{$_SESSION['prefix']}" title="{$prefixTitle}" />
<button type="submit">연결</button>
</form>
FORM;
 $bottom = "\r\n</body>\r\n</html>";
 
 if(!$_SESSION['con_db']||!$_SESSION['host']||!$_SESSION['user']||!$_SESSION['pass']||!$_SESSION['db']||!$_SESSION['prefix'])
 {
  echo $top;
  echo $infoForm;
  $display = true;
 }

 if($_SESSION['host']&&$_SESSION['user']&&$_SESSION['pass']&&$_SESSION['db']&&$_SESSION['prefix'])
 {
  $con = mysql_connect($_SESSION['host'], $_SESSION['user'], $_SESSION['pass']);
  mysql_query("set names utf8");
  $con_db = mysql_select_db($_SESSION['db']);
  if(mysql_error())
  {
   echo "<meta http-equiv=Content-Type content=text/html; charset='utf-8'><div style='font-size:30px;font-weight:bold'>연결실패!!\r\nDB정보를 확인하고 다시 시도하세요.</div>";
   exit;
  }

  $fields = mysql_list_fields($_SESSION['db'], "$info[Mtable]");
  $columns = mysql_num_fields($fields);
  if($columns) $_SESSION['con_db'] = true;
 }

 $mode = filter_input(INPUT_POST, "mode");

 if(!$mode&&$_SESSION['con_db'])
 {
  $groupTitle = mysql_query("select group_srl, title from ".$info['MGtable']);
  while($row = mysql_fetch_assoc($groupTitle))
  {
   $checkedGroup .= sprintf('<input type="checkbox" id="%1$s" name="targetGroup[%2$s]" value="%1$s" /><label for="%1$s">%1$s</label>', $row['title'], $row['group_srl']);
   $title[$row['group_srl']] = $row['title'];
  }
  $title = serialize($title);
  
  if(!$display)
  {
   echo $top;
   echo $infoForm;
  }

  echo <<<FIRST
<fieldset class="border">
<legend>회원목록을 엑셀파일로 출력하기</legend>
<form method="post" action="">
<input type="hidden" name="mode" value="2" />
<input type="hidden" name="title" value=$title />
<div class="center">
<div class="bold">출력할 파일명(기본값:member)</div><input type="text" name="xlsName" class="right blueBorder" />.xls
<div class="bold">출력할 그룹 선택(기본값:전체)</div>$checkedGroup
<div class="bold">출력할 항목 선택(기본값:전체)</div>
</div>
<table class="marginAuto">
<tr>
FIRST;
  for( $i=0 ; $i<$columns ; $i++ )
  {
   $j++;
   echo "<td>";
   $field[$i]=mysql_field_name($fields, $i);
   echo sprintf('<input type="checkbox" id="%1$s" name="checkFields[]" value="%1$s" /><label for="%1$s">%1$s</label>', $field[$i]);
   echo "</td>";
   if($j%3==0&&$j<$columns) echo "</tr><tr>";
   $mField[$i] = $field[$i];
  }
  $mField = serialize($mField);
  echo '<input type="hidden" name="mField" value='.$mField.' />';
  echo '</tr></table><div class="center"><input type="reset" value="reset" /><input type="submit" value="출력하기" /></div></form></fieldset>';
  echo $bottom;
 }
 else if($mode==2)
 {
  $xlsName = filter_input(INPUT_POST, "xlsName")?filter_input(INPUT_POST, "xlsName").'.xls':'member.xls';
  $checkbox = filter_input_array(INPUT_POST);
  $checkFields = $checkbox['checkFields'];
  $targetGroup = $checkbox['targetGroup']?$checkbox['targetGroup']:unserialize(filter_input(INPUT_POST, "title"));
  $mField = unserialize(filter_input(INPUT_POST, "mField"));

  header("Content-type: application/vnd.ms-excel");
  header("Content-Disposition: attachment; filename=$xlsName");
  if(!$display) echo $top;

  echo "<table border=1>";
  echo "<tr align=center>";

  for( $i=0 ; $i<$columns ; $i++ )
  {
   $field[$i]=mysql_field_name($fields, $i);
   if($checkFields&&in_array($field[$i], $checkFields)) echo "<th>".$field[$i]."</th>";
   else if(!$checkFields) echo "<th>".$field[$i]."</th>";
  }
  echo "</tr>";

  if($checkbox['targetGroup'])
  {
   $i = 0;
   foreach($targetGroup as $key=>$val)
   {
    $i++;
    $where .= $info['MGtable'].".group_srl=".$key;
    if($i<count($targetGroup)) $where .= " or ";
   }
  }

  if(!$checkbox['targetGroup']||count($checkbox['targetGroup'])==count(unserialize(filter_input(INPUT_POST, "title"))))
   $sql = mysql_query("select * from ".$info['Mtable']);
  else
   $sql = mysql_query("select * from ".$info['Mtable'].",".$info['MGtable'].",".$info['MGMtable']." where ".$info['Mtable'].".member_srl=".$info['MGMtable'].".member_srl and ".$info['MGMtable'].".group_srl=".$info['MGtable'].".group_srl and (".$where.")");

  while($row = mysql_fetch_assoc($sql))
  {
   echo "<tr>";
   foreach($row as $key=>$val)
   {
    if($key=='regdate'||$key=='last_login'||$key=='change_password_date') $td = "<td class='format'>";
    else $td = "<td>";

    if($checkFields&&in_array($key, $checkFields)&&$key!='extra_vars') echo $td.$val."</td>";
    else if(!$checkFields&&in_array($key, $mField)&&$key!='extra_vars') echo $td.$val."</td>";
    else if($key=='extra_vars'&&($checkFields&&in_array($key, $checkFields)||!$checkFields&&in_array($key, $mField)))
    {
     $extra_vars = unserialize($val);
     echo $td;
     if($val!='N;'&&$val)
     {
      foreach($extra_vars as $k=>$v)
      {
       if(is_array($v))
       {
        echo "<div>".$k." : ";
        foreach($v as $k1=>$v1)
        {
         echo $v1."&nbsp;";
        }
        echo "</div>";
       }
       else echo "<div>".$k." : ".$v."</div>";
      }
     }
     echo "</td>";
    }
   }
   echo "</tr>";
  }
  echo "</table>";
  echo $bottom;
 }
 if($display&&!$_SESSION['con_db']) echo $bottom;
?>

번호 제목 글쓴이 날짜 조회 수
26 xe_dome 상단메뉴와 헤더부분의 크기 및 간격을 조정하는 파일은? css폴더의 스타일 수정 지리산 2016.07.14 3854
25 메뉴위치 출력 위젯=menu_location을 레이아웃에 적용함 지리산 2016.07.14 3400
24 홈페이지에 개인정보취급방침을 만드는 방법은? 행자부에서 운영하는 개인정보보호 종합포털을 이용하세요 지리산 2016.01.26 5723
23 https://사이트의 보안경고-안전하게 제공된 콘텐츠만 보시겠나요? 제거하기 지리산 2014.08.10 6739
22 텍스트복사금지 테크 지리산 2014.07.31 5737
21 검색이 안되고 404 페이지못찾는 에러 나올때는? 지리산 2014.07.29 6220
20 xe의 메뉴와 게시판의 링크를 바꾸고 싶을때? menu_item테이블을 수정합니다. 지리산 2014.06.03 6308
19 404에러- wan not found 에러를 메인페이지로 변경하는 방법 file 지리산 2014.05.17 9427
18 엑스돔 레이아웃 메뉴얼 지리산 2014.02.17 7263
17 현재위치를 출력할때? menu_location 이용. 지리산 2014.02.17 7577
» 게시판에서 회원목록을 엑셀로 출력하는 소스는? file 지리산 2014.02.15 473567
15 XE에 배너 넣기는 콘텐트위젯을 활용해 설정 후 코드실행! 지리산 2014.02.11 7801
14 홈페이지내에 즐겨찾기 추가 소스 지리산 2014.01.19 7815
13 서버의(호스팅포함) 계정 및 DB 패스워드 변경은? 지리산 2014.01.11 7232
12 검색엔진의 로봇들이 문서정보를 수집할때 노출될것인지 아닌지를 결정하는 문구 지리산 2014.01.11 7108
11 xe의 카운터에서 접속자 수가 갱신되지 않는 문제해결은? 지리산 2014.01.02 7505
10 xe사이트수정구문-카운터애드온사용시 속도향상 지리산 2014.01.02 7947
9 플래시배너제작-img fade in out 지리산 2013.12.23 7991
8 XE업데이트시에 오류발생시 대처법 지리산 2013.11.06 7269
7 xdome 레이아웃을 늘려서 넓히는 방법은? 지리산 2013.06.16 7830

서비스 링크

X
Login

브라우저를 닫더라도 로그인이 계속 유지될 수 있습니다. 로그인 유지 기능을 사용할 경우 다음 접속부터는 로그인할 필요가 없습니다. 단, 게임방, 학교 등 공공장소에서 이용 시 개인정보가 유출될 수 있으니 꼭 로그아웃을 해주세요.

X