Export database ไปยัง .CSV (PHP)

พอดีช่วงนี้ ได้ทำงานเว็บที่เก็บข้อมูลลงบน My SQL แล้ว ลูกค้าอยากได้ที่มันสามารถ Export ข้อมูลเป็น Excel ได้ และผมคิดว่าเป็นประโยชน์กับคนที่ต้องการ Export CSV แบบง่ายๆ ขั้นตอนมีดังนี้ครับ

1.สร้างไฟล์ db.php เพื่อตั้งค่าเชื่อมต่อกับฐานข้อมูลครับ

<?php

$con = mysqli_connect("โฮสเนม","ชื่อผู้ใช้",รหัส","ชื่อฐานข้อมูล");
if (mysqli_connect_errno())
{
echo "เชื่อมต่อไม่ได้" . mysqli_connect_error();
}
?>

2.สร้างไฟล์ Export.php เพื่อกำหนดค่าให้ Export เป็น CSV ได้ครับ

<?php
//อ้างอิงไปยัง database
require("db.php");

// เลือกตารางที่ต้องการ Export
$query = "SELECT * FROM new_record";
if (!$result = mysqli_query($con, $query)) {
exit(mysqli_error($con));
}

$users = array();
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {
$users[] = $row;
}
}
//กำหนดชื่อไฟล์
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=ชื่อไฟล์.csv');
$output = fopen('php://output', 'w');
//คอลัมน์ที่ต้องการ เรียงลำดับตามตารางบน Database
fputcsv($output, array('No', 'วันที่', 'ชื่อ', 'อายุ', 'อีเมล', 'โทร', 'ขนาดห้องที่สนใจ', 'วัตถุประสงค์', 'งบประมาณ'));

if (count($users) > 0) {
foreach ($users as $row) {
fputcsv($output, $row);
}
}
?>

หลังจากนั้นเราก็สร้าง ลิงก์ มายัง export.php ได้เลยครับ เท่านี้ก็สามารถ Export database ไปยัง Excel CSV ได้แล้วครับ