[PHP] native export to csv - fourslickz/notes GitHub Wiki

<?php

$host="";
$database="";
$username="";
$password="";


$mysqli = new mysqli($host, $username, $password, $database);

$sql = "SELECT
        trk.name as 'Nama Kecamatan',
        tds.name as 'Nama Sekolah',
        tda.nama as 'Nama Anggota',
        tda.nta_primer as 'NTA',
        trgp.name as 'Golongan',
        trgd.name as 'Golongan Darah',
        tda.alamat_primer as 'Alamat',
        tda.jenis_kelamin as 'Jenis Kelamin',
        tda.phone as 'Nomor Telepon',
        tda.email as 'Email',
        tda.tempat_lahir,
        tda.tanggal_lahir as 'Tanggal Lahir',
        DATE_FORMAT(FROM_DAYS(DATEDIFF(now(), tda.tanggal_lahir)), '%Y')+0 AS Usia,
        tda.created_at as 'Entry Date'
FROM
        tm_data_anggota tda
        inner join tm_ref_gol_darah trgd
                on tda.gol_darah_id = trgd.id
        inner join tm_ref_gol_pramuka trgp
                on tda.gol_pramuka_id = trgp.id
        inner join tm_data_sekolah tds
                on tda.sekolah_id  = tds.id
        inner join tm_ref_kecamatan trk
                on tds.kecamatan_id = trk.id
        inner join tm_ref_kabupaten trk2
                on trk.kabupaten_id = trk2.id
WHERE
        trk2.id = 3207
ORDER BY trk.name ASC, tds.name ASC, tda.nama";

$result = $mysqli->query($sql);

$data = [];
while($row = $result->fetch_assoc()) {
    $row['Nomor Telepon'] = (string) $row['Nomor Telepon'];
    $data[] = $row;
}


// export
$delimiter = ';';
$directory = './';
$fileName = 'anggota-kab-ciamis.csv';
$fp = fopen($directory . $fileName, 'w');

fputcsv($fp, array_keys($data[0]), $delimiter);

foreach ($data as $row) {
    fputcsv($fp, $row, $delimiter);
}

fclose($fp);

$mysqli->close();


?>