CSV merupakan ekstensi file berbasis pemisahan koma yang umumnya digunakan untuk memudahkan user pengguna suatu sistem informasi dalam melakukan import atau export pada suatu data. Didasari bentuk dasar yang simple yakni didasari pemisahan koma, CSV kini sangat kerap kita dengar dengan tujuan penggunaan web web atau aplikasi-aplikasi besar seperti import data pajak, upload data pajak, pegawai, gaji, dan lain-lain. Show Bagi para pengembang sistem informasi tentu ini sangat sangat penting dan wajib untuk dikuasai apalagi untuk seorang developer sistem informasi. Comma Separated Value atau disingkat dengan CSV adalah format data yang bertujuan memudahkan penggunanya melakukan penginputan data ke database secara sederhana. Nah, pada kesempatan kali ini, SistemIT.com akan men-share sebuah tutorial untuk meng-export sebuah data pada database mysql yang ditampilkan melalui bahasa pemrograman php ke sebuah file berekstensi .CSV Adapun langkah-langkah yang harus dilakukan adalah sebagai berikut : 1. Membuat TabelLangkah pertama yang harus dilakukan adalah membuat tabel karyawan. Buat database bernama tutorial_csv CREATE TABLE `csv_karyawan` ( `id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, `nama` varchar(80) NOT NULL, `gaji` varchar(30) NOT NULL, `jenis_kelamin` varchar(10) NOT NULL, `kota` varchar(80) NOT NULL, `email` varchar(70) NOT NULL, `tanggal_bergabung` date NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; INSERT INTO `csv_karyawan` (`id`, `nama`, `gaji`, `jenis_kelamin`, `kota`, `email`, `tanggal_bergabung`) VALUES (1, 'Ujang', '1300000', 'L', 'Aceh', '[email protected]', '2020-06-13'), (2, 'Ranti', '1900000', 'P', 'Aceh', '[email protected]', '2020-06-13'), (3, 'Randi', '1500000', 'L', 'Balikpapan', '[email protected]', '2020-06-13'), (4, 'Maria', '800000', 'P', 'Balikpapan', '[email protected]', '2020-06-13'); 2. Buat file config.phpBuat file bernama config.php untuk koneksi ke database. jangan lupa sesuaikan dengan nama database <?php $host = "localhost"; /* Host name */ $user = "root"; /* User */ $password = ""; /* Password */ $dbname = "tutorial_csv"; /* Database name */ $con = mysqli_connect($host, $user, $password,$dbname); // Check connection if (!$con) { die("Connection failed: " . mysqli_connect_error()); } 3. Buat file bernama index.phpJika tidak ingin penggunaan online, anda dapat mendownload jquery ui css, sesuai link pada file index.php berikut. <html> <head> <title>Cara Membuat Export Data CSV dengan PHP</title> <!-- jQuery UI CSS --> <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css"> <!-- jQuery --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <!-- jQuery UI JS --> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> <script> $(document).ready(function(){ // From datepicker $("#from_date").datepicker({ dateFormat: 'yy-mm-dd', changeYear: true, onSelect: function (selected) { var dt = new Date(selected); dt.setDate(dt.getDate() + 1); $("#to_date").datepicker("option", "minDate", dt); } }); // To datepicker $("#to_date").datepicker({ dateFormat: 'yy-mm-dd', changeYear: true, onSelect: function (selected) { var dt = new Date(selected); dt.setDate(dt.getDate() - 1); $("#from_date").datepicker("option", "maxDate", dt); } }); }); </script> </head> <body> <div > <form method='post' action='download.php'> <!-- Datepicker --> <input type='text' class='datepicker' placeholder="Dari Tanggal" name="from_date" id='from_date' readonly> <input type='text' class='datepicker' placeholder="Sampai Tanggal" name="to_date" id='to_date' readonly> <!-- Export button --> <input type='submit' value='Export' name='Export'> </form> <table border='1' style='border-collapse:collapse;'> <tr> <th>ID</th> <th>Nama Karyawan</th> <th>Gaji</th> <th>Jenis Kelamin</th> <th>Kota</th> <th>Email</th> <th>Tanggal Bergabung</th> </tr> <?php include "config.php"; $query = "SELECT * FROM csv_karyawan ORDER BY id asc"; $result = mysqli_query($con,$query); while($row = mysqli_fetch_assoc($result)){ $id = $row['id']; $nama = $row['nama']; $gaji = $row['gaji']; $jenis_kelamin = $row['jenis_kelamin']; $kota = $row['kota']; $email = $row['email']; $tanggal_bergabung = $row['tanggal_bergabung']; ?> <tr> <td><?= $id; ?></td> <td><?= $nama; ?></td> <td><?= $gaji; ?></td> <td><?= $jenis_kelamin; ?></td> <td><?= $kota; ?></td> <td><?= $email; ?></td> <td><?= $tanggal_bergabung; ?></td> </tr> <?php } ?> </table> </div> </body> </html> 4. Buatlah File untuk aksi export php (download.php)<?php <?php include "config.php"; $filename = 'karyawan_'.time().'.csv'; // POST values $from_date = $_POST['from_date']; $to_date = $_POST['to_date']; // Select query $query = "SELECT * FROM csv_karyawan ORDER BY id asc"; if(isset($_POST['from_date']) && isset($_POST['to_date'])){ $query = "SELECT * FROM csv_karyawan where tanggal_bergabung between '".$from_date."' and '".$to_date."' ORDER BY id asc"; } $result = mysqli_query($con,$query); $karyawan_arr = array(); // file creation $file = fopen($filename,"w"); // Header row - Remove this code if you don't want a header row in the export file. $karyawan_arr = array("ID","Nama","Gaji","Jenis Kelamin","Kota","Email","Tanggal Bergabung"); while($row = mysqli_fetch_assoc($result)){ $id = $row['id']; $nama = $row['nama']; $gaji = $row['gaji']; $jenis_kelamin = $row['jenis_kelamin']; $kota = $row['kota']; $email = $row['email']; $tanggal_bergabung = $row['tanggal_bergabung']; // Write to file $karyawan_arr = array($id,$nama,$gaji,$jenis_kelamin,$kota,$email,$tanggal_bergabung); fputcsv($file,$karyawan_arr); } fclose($file); // download header("Content-Description: File Transfer"); header("Content-Disposition: attachment; filename=$filename"); header("Content-Type: application/csv; "); readfile($filename); // deleting file unlink($filename); exit(); ?> Demikianlah Tutorial Export CSV. Semoga bermanfaat Jangan Lupa Komentar |