매

회원목록 엑셀다운로드

· 2024-08-22 (목) 14:24:22 · 5618 · 6

기존 디지털홍익인간 님의 자료를  https://sir.kr/g5_tip/20580
수정하였습니다.
2번 출력이 되는 오류가 있어, 구분코드를 변경하여 수정하였습니다.


<?php
include_once('./_common.php');

auth_check_menu($auth, $sub_menu, 'r');

// 엑셀 다운로드 함수
function array_to_excel($data, $filename){
    header('Content-Type: application/vnd.ms-excel; charset=utf-8');
    header('Content-Disposition: attachment; filename="' . $filename . '.csv"'); // 확장자를 .csv로 변경
    header('Cache-Control: max-age=0');
    $out = fopen('php://output', 'w');
    fputs($out, "\xEF\xBB\xBF"); // UTF-8 with BOM
    fputcsv($out, array_keys($data[0]), ","); // 콤마 구분자 사용
    foreach ($data as $row) {
        fputcsv($out, $row, ","); // 콤마 구분자 사용
    }
    fclose($out);
}

$sql_common = " from {$g5['member_table']} ";

$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 .= " ) ";
}

if ($is_admin != 'super')
    $sql_search .= " and mb_level <= '{$member['mb_level']}' ";

if (!$sst) {
    $sst = "mb_datetime";
    $sod = "desc";
}

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

$sql = " select * {$sql_common} {$sql_search} {$sql_order} ";
$result = sql_query($sql);

$data = array(); // Initialize the data array
$i = 0; // $i 변수를 여기서 초기화

while ($row = sql_fetch_array($result)) {
    $i++; // 각 회원 데이터마다 번호 증가
    // 데이터 가공
    $mb_gender = '';
    if ($row['mb_gender'] == 'M') {
        $mb_gender = '남성';
    } else if ($row['mb_gender'] == 'F') {
        $mb_gender = '여성';
    }

    $data[] = array(
        '번호' => $i,
        '아이디' => $row['mb_id'],
        '이름' => $row['mb_name'],
        '닉네임' => $row['mb_nick'],
        'E-MAIL' => $row['mb_email'],
        '전화번호' => $row['mb_tel'],
        '휴대폰번호' => hyphen_hp_number($row['mb_hp']),
        '성별' => $mb_gender,
        '생년월일' => $row['mb_birth'],
        '가입일' => $row['mb_datetime'],
        '최종접속일' => $row['mb_today_login'],
        '권한' => $row['mb_level']
    );
}

// HTML 테이블 출력 대신 엑셀 파일로만 출력하도록 수정
array_to_excel($data, '회원리스트');

?>
 

|

댓글 6개

감사 합니다.

감사합니다 ^^

감사합니다 

이걸 어떻게 적용해야 하나요?

댓글을 작성하시려면 로그인이 필요합니다.
+
제목 글쓴이 날짜 조회
24-09-04 조회 4,798
24-09-04 조회 5,235
24-08-31 조회 5,163
24-08-31 조회 5,314
24-08-30 조회 5,636
24-08-25 조회 5,221
24-08-22 조회 5,619
24-08-20 조회 4,662
24-08-20 조회 5,087
24-08-19 조회 5,206
24-08-19 조회 4,739
24-08-19 조회 4,589
24-08-19 조회 5,354
24-08-16 조회 5,234
24-08-16 조회 4,841
24-08-16 조회 5,081
24-08-15 조회 4,813
24-08-15 조회 6,018
24-08-12 조회 4,833
24-08-09 조회 4,777
24-08-06 조회 5,865
24-08-06 조회 4,696
24-08-05 조회 4,976
24-08-05 조회 4,646
24-08-03 조회 5,698
24-08-03 조회 8,781
24-07-31 조회 4,684
24-07-29 조회 5,550
24-07-28 조회 4,618
24-07-27 조회 5,254