Membuat export data berdasarkan range tanggal menggunakan php
Membuat export data berdasarkan range tanggal menggunakan php
Pada kesempatan kali ini saya akan membahas tentang cara Membuat export data berdasarkan range tanggal menggunakan php. Export data adalah proses mengambil atau mendownload data dimana pada kesempatan kali ini proses export data berdasarkan range tanggal yang dipilih.
Langkah pertama untuk Membuat export data berdasarkan range tanggal menggunakan php yaitu teman-teman membuat database seperti script di bawah ini.
CREATE TABLE `tbl_order` (
`order_id` int(11) NOT NULL AUTO_INCREMENT,
`order_customer_name` varchar(255) NOT NULL,
`order_item` varchar(255) NOT NULL,
`order_value` double(12,2) NOT NULL,
`order_date` date NOT NULL,
PRIMARY KEY (`order_id`)
) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;
Jika sudah maka siapkan data yang akan di eksport atau teman-teman bisa salin scriptnya di bawah.
insert into `tbl_order`(`order_id`,`order_customer_name`,`order_item`,`order_value`,`order_date`) values
(1,'Shelli','Lego toys',1500.00,'2019-06-14'),
(2,'Shari','Nuk silicon teats',2000.00,'2019-06-08'),
(3,'Fatimah','Cross Pen',150.00,'2019-05-29'),
(4,'Eno','Lego Friends',350.00,'2019-05-30'),
(5,'Fahrul','Cross pen',100.00,'2019-06-01'),
(6,'Surya','HP Xiomi',800.00,'2019-06-02'),
(7,'Alfi','Nuk silicon teats',2000.00,'2019-05-28'),
(8,'Adi','Apple',200.00,'2019-06-04'),
(9,'Jaka','TV Samsung',500.00,'2019-05-27'),
(10,'Rifkie','HP Xiomi',1800.00,'2019-05-30')
Lalu dilanjutkan membuat script PHP untuk menampilkan data yang akan di eksport dan perintah eksport.
<?php
$connect = new PDO("mysql:host=localhost;dbname=shelli", "root", "");
$start_date_error = '';
$end_date_error = '';
if(isset($_POST["export"]))
{
if(empty($_POST["start_date"]))
{
$start_date_error = '<label class="text-danger">Start Date is required</label>';
}
else if(empty($_POST["end_date"]))
{
$end_date_error = '<label class="text-danger">End Date is required</label>';
}
else
{
$file_name = 'Order Data.csv';
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file_name");
header("Content-Type: application/csv;");
$file = fopen('php://output', 'w');
$header = array("Order ID", "Customer Name", "Item Name", "Order Value", "Order Date");
fputcsv($file, $header);
$query = "
SELECT * FROM tbl_order
WHERE order_date>= '".$_POST["start_date"]."'
AND order_date<= '".$_POST["end_date"]."'
ORDER BY order_date DESC
";
$statement = $connect->prepare($query);
$statement->execute();
$result = $statement->fetchAll();
foreach($result as $row)
{
$data = array();
$data[] = $row["order_id"];
$data[] = $row["order_customer_name"];
$data[] = $row["order_item"];
$data[] = $row["order_value"];
$data[] = $row["order_date"];
fputcsv($file, $data);
}
fclose($file);
exit;
}
}
$query = "
SELECT * FROM tbl_order
ORDER BY order_date DESC;
";
$statement = $connect->prepare($query);
$statement->execute();
$result = $statement->fetchAll();
?>
Dan ini adalah struktur htmlnya seperti script di bawah.
<html>
<head>
<title>Membuat export data berdasarkan range tanggal menggunakan php</title>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/css/bootstrap-datepicker.css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/js/bootstrap-datepicker.js"></script>
</head>
<body>
<div class="container box">
<h1 align="center">Membuat export data berdasarkan range tanggal menggunakan php</h1>
<div class="table-responsive">
<div class="row">
<form method="post">
<div class="input-daterange">
<div class="col-md-4">
<input type="text" name="start_date" class="form-control" readonly/>
<?php echo $start_date_error; ?>
</div>
<div class="col-md-4">
<input type="text" name="end_date" class="form-control" readonly/>
<?php echo $end_date_error; ?>
</div>
</div>
<div class="col-md-2">
<input type="submit" name="export" value="Export" class="btnbtn-info"/>
</div>
</form>
</div>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Order ID</th>
<th>Customer Name</th>
<th>Item</th>
<th>Value</th>
<th>Order Date</th>
</tr>
</thead>
<tbody>
<?php
foreach($result as $row)
{
echo '
<tr>
<td>'.$row["order_id"].'</td>
<td>'.$row["order_customer_name"].'</td>
<td>'.$row["order_item"].'</td>
<td>$'.$row["order_value"].'</td>
<td>'.$row["order_date"].'</td>
</tr>
';
}
?>
</tbody>
</table>
</div>
</div>
</body>
</html>
<script>
$(document).ready(function(){
$('.input-daterange').datepicker({
todayBtn:'linked',
format:"yyyy-mm-dd",
autoclose:true
});
});
</script>
Jika sudah maka akan tampil seperti gambar di bawah ini.

maka hasil yang telah dieksport seperti gambar dibawah ini.
Demikian artikel tentang cara Membuat export data berdasarkan range tanggal menggunakan php. Semoga dapat bermanfaat dan selamat mencoba.
Webinar Gratis 2024
Sabtu, 09 Maret 2024
10 Bahasa Rekomendasi Untuk Dipelajari di 2024
Python Developer, Data Science, Web Application
Minggu, 26 Mei 2024, 09.00-13.00 WIB
(4 Jam Membuat Backend di Laravel 11)