테스트 사이트 - 개발 중인 베타 버전입니다

관리자모드에서 회원 엑셀 다운받을때 채택완료

허걱김선생 4년 전 조회 2,089

수고하십니다.

 

관리자모드에서 회원들을 엑셀로 다운로드 받을 수 있는데요.

 

여기서

이메일수신여부와 문자 수신여부를 추가해주고 싶습니다.

 

어디서 추가를 해줘야 할까요?

 

조언 좀 부탁드립니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
그누위즈

기본 그누보드에는 회원정보를 엑셀로 다운받는 메뉴나 기능이 없습니다.

커스텀된 사이트인것 같구요

엑셀을 다운받는 .php 파일에서 해당 이메일 필드를 추가해야합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

</p>

<p><?php

$sub_menu = '400800';

include_once('./_common.php');</p>

<p>auth_check($auth[$sub_menu], "r");</p>

<p>function conv_telno($t)

{

    // 숫자만 있고 0으로 시작하는 전화번호

    if (!preg_match("/[^0-9]/", $t) && preg_match("/^0/", $t))  {

        if (preg_match("/^01/", $t)) {

            $t = preg_replace("/([0-9]{3})(.*)([0-9]{4})/", "\\1-\\2-\\3", $t);

        } else if (preg_match("/^02/", $t)) {

            $t = preg_replace("/([0-9]{2})(.*)([0-9]{4})/", "\\1-\\2-\\3", $t);

        } else {

            $t = preg_replace("/([0-9]{3})(.*)([0-9]{4})/", "\\1-\\2-\\3", $t);

        }

    }</p>

<p>    return $t;

}</p>

<p>// 1.04.01

// MS엑셀 CSV 데이터로 다운로드 받음

if ($csv == 'csv')

{</p>

<p>    $sql_common = " from {$g5['member_table']} ";</p>

<p>    $sql_search = " where (1) ";

    if ($stx) {

        $sql_search .= " and ( ";

        switch ($sfl) {

            case 'mb_point' :

                $sql_search .= " ({$sfl} >= '{$stx}') ";

                break;

            case 'mb_level' :

                $sql_search .= " ({$sfl} = '{$stx}') ";

                break;

            case 'mb_tel' :

            case 'mb_hp' :

                $sql_search .= " ({$sfl} like '%{$stx}') ";

                break;

            default :

                $sql_search .= " ({$sfl} like '{$stx}%') ";

                break;

        }

        $sql_search .= " ) ";

    }</p>

<p>    if ($is_admin != 'super')

        $sql_search .= " and mb_level <= '{$member['mb_level']}' ";</p>

<p>    if (!$sst) {

        $sst = "mb_datetime";

        $sod = "desc";

    }</p>

<p>    if($sst == "mb_email_certify") {

        $sql_order = " order by {$sst} {$sod} , mb_datetime asc";

    } else {

        $sql_order = " order by {$sst} {$sod} ";

    }</p>

<p>    $sql = " select * {$sql_common} {$sql_search} {$sql_order}";

    $result = sql_query($sql);</p>

<p>    $cnt = @sql_num_rows($result);

    if (!$cnt)

        alert("출력할 내역이 없습니다.");</p>

<p>    //header('Content-Type: text/x-csv');

    header("Content-charset=utf-8");

    header('Content-Type: doesn/matter');

    header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');

    header('Content-Disposition: attachment; filename="memberlist-' . date("ymd", time()) . '.csv"');

    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');

    header('Pragma: public');</p>

<p>    echo iconv('utf-8', 'euc-kr', "번호,아이디,이름(실명),닉네임,회원 권한,우편번호,주소,E-mail,휴대폰번호,전화번호,팩스번호,근무처,전문의번호,의사면허번호,주민번호,성별,생년월일,승인,가입일,이메일승인,SMS승인,메모\n");</p>

<p>    $save_it_id = ''; $csv_num = 0;

    for ($i=0; $row=sql_fetch_array($result); $i++)

    {</p>

<p>        $csv_num++;</p>

<p>        $row = array_map('iconv_euckr', $row);</p>

<p>        $row['mb_level'] = $MEMBER_LEVEL[$row['mb_level']];

        $row['mb_sex'] = ($row['mb_sex'])?'男':'女';

        $row['mb_approval'] = ($row['mb_approval'])?'승인':'미승인';</p>

<p>        echo '"'.$csv_num.'"'.',';

        echo '"'.$row['mb_id'].'"'.',';

        echo '"'.$row['mb_name'].'"'.',';

        echo '"'.$row['mb_nick'].'"'.',';

        echo '"'.iconv_euckr($row['mb_level']).'"'.',';

        echo '"\''.$row['mb_zip1'].$row['mb_zip2'].'"\''.',';

        echo '"'.print_address($row['mb_addr1'], $row['mb_addr2'], $row['mb_addr3'], $row['mb_addr_jibeon']).'"'.',';

        echo '"'.$row['mb_email'].'"'.',';

        echo '"'.conv_telno($row['mb_hp']) . '"'.',';

        echo '"'.conv_telno($row['mb_tel']) . '"'.',';

        echo '"'.conv_telno($row['mb_fax']) . '"'.',';

        echo '"'.$row['mb_officename'].'"'.',';

        echo '"'.$row['mb_speciallicense'].'"'.',';

        echo '"'.$row['mb_doclicense'].'"'.',';

        echo '"'.$row['mb_jumin'].'"'.',';

        echo '"'.iconv_euckr($row['mb_sex']).'"'.',';

        echo '"'.$row['mb_birth'].'"'.',';

        echo '"'.iconv_euckr($row['mb_approval']).'"'.',';

        echo '"'.$row['mb_datetime'].'"'.',';

        echo '"'.$row['mb_mailling'].'"'.',';

        echo '"'.$row['mb_sms_yes'].'"'.',';

        echo '"'.preg_replace("/\"/", "&#034;", $row['mb_memo']).'"';

        echo "\n";</p>

<p>    }

    if ($i == 0)

        echo '자료가 없습니다.'.PHP_EOL;</p>

<p>    exit;

}</p>

<p>

// MS엑셀 XLS 데이터로 다운로드 받음

if ($csv == 'xls')

{</p>

<p>    $sql_common = " from {$g5['member_table']} ";</p>

<p>    $sql_search = " where (1) ";

    if ($stx) {

        $sql_search .= " and ( ";

        switch ($sfl) {

            case 'mb_point' :

                $sql_search .= " ({$sfl} >= '{$stx}') ";

                break;

            case 'mb_level' :

                $sql_search .= " ({$sfl} = '{$stx}') ";

                break;

            case 'mb_tel' :

            case 'mb_hp' :

                $sql_search .= " ({$sfl} like '%{$stx}') ";

                break;

            default :

                $sql_search .= " ({$sfl} like '{$stx}%') ";

                break;

        }

        $sql_search .= " ) ";

    }</p>

<p>    if ($is_admin != 'super')

        $sql_search .= " and mb_level <= '{$member['mb_level']}' ";</p>

<p>    if (!$sst) {

        $sst = "mb_datetime";

        $sod = "desc";

    }</p>

<p>    if($sst == "mb_email_certify") {

        $sql_order = " order by {$sst} {$sod} , mb_datetime asc";

    } else {

        $sql_order = " order by {$sst} {$sod} ";

    }</p>

<p>    $sql = " select * {$sql_common} {$sql_search} {$sql_order}";

    $result = sql_query($sql);</p>

<p>    $cnt = @sql_num_rows($result);

    if (!$cnt)

        alert("출력할 내역이 없습니다.");</p>

<p>

    /*================================================================================

    php_writeexcel <a href="http://www.bettina-attack.de/jonny/view.php/projects/php_writeexcel/" target="_blank" rel="noopener noreferrer">http://www.bettina-attack.de/jonny/view.php/projects/php_writeexcel/</a>

    =================================================================================*/</p>

<p>    include_once(G5_LIB_PATH.'/Excel/php_writeexcel/class.writeexcel_workbook.inc.php');

    include_once(G5_LIB_PATH.'/Excel/php_writeexcel/class.writeexcel_worksheet.inc.php');</p>

<p>    $fname = tempnam(G5_DATA_PATH, "tmp-memberlist.xls");

    $workbook = new writeexcel_workbook($fname);

    $worksheet = $workbook->addworksheet();</p>

<p>    // Put Excel data

    $data = array('번호', '아이디', '이름(실명)', '닉네임', '회원권한', '우편번호', '주소', 'E-mail', '휴대폰번호', '전화번호', '팩스번호', '근무처', '전문의번호', '의사면허번호', '주민번호', '성별', '생년월일', '승인', '가입일', '이메일승인', 'SMS승인' , '메모');

    $data = array_map('iconv_euckr', $data);</p>

<p>    $col = 0;

    foreach($data as $cell) {

        $worksheet->write(0, $col++, $cell);

    }</p>

<p>    $save_it_id = ''; $csv_num = 0;

    for($i=1; $row=sql_fetch_array($result); $i++)

    {</p>

<p>        $csv_num++;</p>

<p>        $row = array_map('iconv_euckr', $row);</p>

<p>        $row['mb_level'] = $MEMBER_LEVEL[$row['mb_level']];

        $row['mb_sex'] = ($row['mb_sex'])?'男':'女';

        $row['mb_approval'] = ($row['mb_approval'])?'승인':'미승인';</p>

<p>        $worksheet->write($i, 0, $csv_num);

        $worksheet->write($i, 1, $row['mb_id']);

        $worksheet->write($i, 2, $row['mb_name']);

        $worksheet->write($i, 3, $row['mb_nick']);

        $worksheet->write($i, 4, iconv_euckr($row['mb_level']));

        $worksheet->write($i, 5, $row['mb_zip1'].$row['mb_zip2']);

        $worksheet->write($i, 6, print_address($row['mb_addr1'], $row['mb_addr2'], $row['mb_addr3'], $row['mb_addr_jibeon']));

        $worksheet->write($i, 7, $row['mb_email']);

        $worksheet->write($i, 8, conv_telno($row['mb_hp']));

        $worksheet->write($i, 9, conv_telno($row['mb_tel']));

        $worksheet->write($i, 10, conv_telno($row['mb_fax']));

        $worksheet->write($i, 11, $row['mb_officename']);

        $worksheet->write($i, 12, $row['mb_speciallicense']);

        $worksheet->write($i, 13, $row['mb_doclicense']);

        $worksheet->write($i, 14, $row['mb_jumin']);

        $worksheet->write($i, 15, iconv_euckr($row['mb_sex']));

        $worksheet->write($i, 16, $row['mb_birth']);

        $worksheet->write($i, 17, iconv_euckr($row['mb_approval']));

        $worksheet->write($i, 18, $row['mb_datetime']);

        $worksheet->write($i, 20, $row['mb_mailling']);

        $worksheet->write($i, 21, $row['mb_sms_yes']);

        $worksheet->write($i, 19, preg_replace("/\"/", "&#034;", $row['mb_memo']));</p>

<p>    }</p>

<p>    $workbook->close();</p>

<p>    header("Content-Type: application/x-msexcel; name=\"memberlist-".date("ymd", time()).".xls\"");

    header("Content-Disposition: inline; filename=\"memberlist-".date("ymd", time()).".xls\"");

    $fh=fopen($fname, "rb");

    fpassthru($fh);

    unlink($fname);</p>

<p>    exit;</p>

<p>}

?></p>

<p></body>

</html></p>

<p>

이런식으로 해봤는데 잘 안되네요. ^^;;

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

엑셀을 생성해주는 php에서 해당 정보 가져오는 쿼리와 생성해주는 코드 추가해주셔야됩니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

4년 전

기본 모드가 아니라서 커스텀을 하신거 같은데 회원정보 수정하는 페이지에서 해당 정보를 확인하는 방법을 확인하시고 엑셀쪽에도 동일하게 해주시면 될거 같습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인