Jadi dalam tutorial ini Anda akan belajar cara mengekspor data ke CSV dengan PHP dan MySQL. Tutorial dijelaskan dalam langkah-langkah mudah dengan demo langsung dan tautan untuk mengunduh kode sumber.
Daftar Isi
Langkah 1: Membuat Tabel Database MySQL
Seperti kita akan menangani tutorial ini dengan contoh untuk mengekspor data dalam format CSV dari tabel depelovers database MySQL. Jadi pertama-tama kita akan membuat tabel database MySQL menggunakan kueri di bawah ini.
CREATE TABLE `developers` (
`id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`skills` varchar(255) NOT NULL,
`address` varchar(255) NOT NULL,
`gender` varchar(255) NOT NULL,
`designation` varchar(255) NOT NULL,
`age` int(11) NOT NULL,
`image` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Kami juga akan memasukkan beberapa record ke dalam tabel depelovers untuk menampilkannya dan mengekspornya ke file CSV.
INSERT INTO `developers` (`id`, `name`, `skills`, `address`, `gender`, `designation`, `age`, `image`) VALUES
(1, 'Smith', '', 'Newyork', 'Male', 'Software Engineer', 34, ''),
(2, 'Steve', '', 'London', 'Female', 'Web Developer', 28, ''),
(3, 'Jhon', '', 'Delhi, India', 'Male', 'Web Developer', 30, '');
Langkah2: Get Record dari Tabel Database MySQL
Kita akan mendapatkan record dari tabel depelovers database MySQL dengan PHP dan menyimpannya ke dalam array untuk menampilkan catatan dan juga mengekspor record ke file CSV.
$query = "SELECT name, gender, address, designation, age FROM developers LIMIT 10";
$result = mysqli_query($conn, $query) or die("database error:". mysqli_error($conn));
$records = array();
while( $rows = mysqli_fetch_assoc($result) ) {
$records[] = $rows;
}
Langkah 3: Tampilkan Record dengan Tombol Ekspor
Sekarang di file index.php, kita akan menampilkan record developers dengan tombol export.
<div class="well-sm col-sm-12">
<div class="btn-group pull-right">
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<button type="submit" id="export_csv_data" name='export_csv_data' value="Export to CSV" class="btn btn-info">Export to CSV</button>
</form>
</div>
</div>
<table id="" class="table table-striped table-bordered">
<tr>
<th>Name</th>
<th>Gender</th>
<th>Age</th>
<th>Designation</th>
<th>Address</th>
</tr>
<tbody>
<?php foreach($records as $record) { ?>
<tr>
<td><?php echo $record ['name']; ?></td>
<td><?php echo $record ['gender']; ?></td>
<td><?php echo $record ['age']; ?></td>
<td><?php echo $record ['designation']; ?></td>
<td><?php echo $record ['address']; ?></td>
</tr>
<?php } ?>
</tbody>
</table>
Langkah 4: Export Data ke CSV dengan PHP
Sekarang akhirnya di file export.php, kita akan menangani fungsionalitas untuk mengekspor record ke file CSV menggunakan PHP.
if(isset($_POST["export_csv_data"])) {
$csv_file = "phpzag_csv_export_".date('Ymd') . ".csv";
header("Content-Type: text/csv");
header("Content-Disposition: attachment; filename=\"$csv_file\"");
$fh = fopen( 'php://output', 'w' );
$is_coloumn = true;
if(!empty($records)) {
foreach($records as $record) {
if($is_coloumn) {
fputcsv($fh, array_keys($record));
$is_coloumn = false;
}
fputcsv($fh, array_values($record));
}
fclose($fh);
}
exit;
}
Selesai semoga membantu Anda.
export to CVS with PHP and MySql mysql php