Golaneducation.com – Dalam dunia bisnis, memiliki kemampuan untuk menghasilkan laporan periode dari transaksi bisnis menjadi sangat penting. Laporan-laporan ini membantu pengusaha dan manajer dalam menganalisis kinerja keuangan, memantau tren, dan membuat keputusan yang berdasarkan data. Dalam artikel ini, kita akan membahas cara membuat laporan periode dari transaksi menggunakan PHP dan MySQL, dua teknologi yang sangat populer dalam pengembangan web.
Membuat Laporan Periode Menggunakan PHP dan Mysql
Langkah 1. Membuat/ Memastikan Tabel Transaksi Ada
langkah awal adalah membuat tabel transaksi di database MySQL. Tabel ini akan menyimpan semua data transaksi bisnis, seperti tanggal transaksi, jumlah, deskripsi, dan lain-lain. Pastikan Anda telah menghubungkan aplikasi PHP ke database MySQL menggunakan koneksi yang sesuai. Pastikan ada tanggal didalam atribut tabel. karena itu menjadi atribut yang digunakan untuk filter laporan transaksinya.
Langkah 2. Membuat Antarmuka Pengguna
Setelah membuat tabel transaksi, buatlah antarmuka pengguna yang memungkinkan pengguna memasukkan rentang tanggal yang ingin mereka laporan. Anda dapat menggunakan elemen form HTML untuk membuat formulir yang meminta pengguna memasukkan tanggal mulai dan tanggal selesai. seperti tampilan dibawah ini
Berikut Script form untuk tanggal awal dan tanggal akhir serta tombol Tampilkan:
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" name="form10" target="_self">
<div class="row">
<div class="col-lg-3">
<input name="txtTglAwal" type="date" class="form-control" value="<?php echo $awalTgl; ?>" size="10" />
</div>
<div class="col-lg-3">
<input name="txtTglAkhir" type="date" class="form-control" value="<?php echo $akhirTgl; ?>" size="10" />
</div>
<div class="col-lg-3">
<input name="btnTampil" class="btn btn-success" type="submit" value="Tampilkan" />
</div>
</div>
</form>
Langkah 3. Memproses Input Pengguna Setelah pengguna memasukkan rentang tanggal pada formulir
Untuk memprosesnya klik tombol Tampilkan. Anda perlu mengambil nilai tanggal mulai dan tanggal selesai menggunakan PHP. Anda dapat menggunakan variabel $_POST untuk mengambil nilai dari formulir. berikut scriptnya:
<?php
$SqlPeriode = "";
$awalTgl = "";
$akhirTgl = "";
$tglAwal = "";
$tglAkhir = "";
if(isset($_POST['btnTampil'])) {
$tglAwal = isset($_POST['txtTglAwal']) ? $_POST['txtTglAwal'] : "01-".date('m-Y');
$tglAkhir = isset($_POST['txtTglAkhir']) ? $_POST['txtTglAkhir'] : date('d-m-Y');
$SqlPeriode = " where A.tglpesanan BETWEEN '".$tglAwal."' AND '".$tglAkhir."'";
}
else
{
$awalTgl = "01-".date('m-Y');
$akhirTgl = date('d-m-Y');
$SqlPeriode = " where A.tglpesanan BETWEEN '".$awalTgl."' AND '".$akhirTgl."'";
}
?>
Berikut Penjelasan Kodingan diatas:
$SqlPeriode = “”;: Ini adalah variabel yang digunakan untuk menyimpan bagian SQL dari filter tanggal yang akan digunakan dalam query. Pada awalnya, variabel ini diatur sebagai string kosong.
$awalTgl = “”;
$akhirTgl = “”;
$tglAwal = “”;
$tglAkhir = “”;:
Codingan ini adalah variabel-variabel yang digunakan untuk menyimpan tanggal yang akan digunakan dalam filter. Variabel-variabel ini diatur sebagai string kosong pada awalnya.
if(isset($_POST[‘btnTampil’])) { … } else { … }:
Ini adalah blok kode untuk memeriksa apakah tombol “Tampilkan” (btnTampil) telah ditekan atau belum. Jika tombol telah ditekan, maka blok kode dalam if akan dieksekusi, dan jika belum, maka blok kode dalam else yang akan dieksekusi.
$tglAwal = isset($_POST[‘txtTglAwal’]) ? $_POST[‘txtTglAwal’] : “01-“.date(‘m-Y’);:
Ini adalah bagian dari blok kode if. Ini mengambil tanggal awal dari input form dengan nama txtTglAwal. Jika tanggal awal telah diisi oleh pengguna, maka variabel $tglAwal akan diisi dengan tanggal yang diinputkan. Jika tanggal awal tidak diisi (kosong), maka variabel $tglAwal akan diisi dengan tanggal 1 dari bulan dan tahun saat ini (format “01-mm-YYYY”).
$tglAkhir = isset($_POST[‘txtTglAkhir’]) ? $_POST[‘txtTglAkhir’] : date(‘d-m-Y’);: Ini adalah bagian dari blok kode if. Ini mengambil tanggal akhir dari input form dengan nama txtTglAkhir. Jika tanggal akhir telah diisi oleh pengguna, maka variabel $tglAkhir akan diisi dengan tanggal yang diinputkan. Jika tanggal akhir tidak diisi (kosong), maka variabel $tglAkhir akan diisi dengan tanggal saat ini dalam format “dd-mm-YYYY”.
$SqlPeriode = ” where A.tglpesanan BETWEEN ‘”.$tglAwal.”‘ AND ‘”.$tglAkhir.”‘”;:
Setelah mendapatkan tanggal awal dan tanggal akhir yang sesuai (atau default), variabel $SqlPeriode akan diisi dengan bagian SQL yang menyatakan filter tanggal (WHERE A.tglpesanan BETWEEN …) dengan menggabungkan tanggal awal dan tanggal akhir ke dalam query SQL.
Langkah 4. Mengambil Data Transaksi dari Database Selanjutnya
Gunakan kueri SQL untuk mengambil data transaksi dari database MySQL berdasarkan rentang tanggal yang diberikan oleh pengguna. Gunakan pernyataan SELECT dengan klausul WHERE untuk membatasi hasil hanya pada transaksi yang sesuai dengan rentang tanggal.
pada script diatas ada $sqlperiode itu didapat dari query pada saat tampil datanya pada tabel yg sudah terbentuk. perhatikan script berikut:
<div class="table-responsive table mt-2" id="dataTable" role="grid" aria-describedby="dataTable_info">
<table class="table dataTable my-0" id="dataTable1">
<thead>
<tr>
<th>No</th>
<th>No Pesanan</th>
<th>Tgl Pesanan</th>
<th>Nama Member</th>
<th>Metode Bayar</th>
<th>Status Bayar</th>
<th>Total Bayar</th>
</tr>
</thead>
<tbody>
<?php
$Sql = "SELECT A.*, B.namamember FROM pesanan A, member B $SqlPeriode and A.kdmember=B.kdmember";
$myQry = mysqli_query($mysqli, $Sql) or die ("Query salah : ".mysqli_error());
$nomor = 0;
while ($myData = mysqli_fetch_array($myQry)) { $nomor++;
?>
<tr>
<td><?php echo $nomor;?></td>
<td><?php echo $myData['kdpesanan'];?></td>
<td><?php echo $myData['tglpesanan'];?></td>
<td><?php echo $myData['namamember'];?></td>
<td><?php echo $myData['metodebayar'];?></td>
<td><?php echo $myData['statusbayar'];?></td>
<td>Rp. <?php echo number_format($myData['totbayar']);?></td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
<div class="row">
<div class="col-lg-3">
<a href="../admin/modul/mod_laporan/cetak.php; ?>" target="_blank" alt="Edit Data" class="btn btn-primary">Cetak Laporan</a>
</div>
</div>
Penjelasan Pada script $SqlPeriode:
$Sql = “SELECT A.*, B.namamember FROM pesanan A, member B $SqlPeriode and A.kdmember=B.kdmember”;
query untuk mencari data transaksi di tabel pesanan dengan $SqlPeride sesuai yang dipilih user. Untuk nama member hanya pelengkap saja. silahkan disesuikan dengna kebutuhan Anda.
script berikut yang perlu diperhatikan:
Perhatikan variabel awal dan akhir pada script tombol cetak laporan ini, pariabel inilah yang digunakan di cetak.php:
<a href="../admin/modul/mod_laporan/cetak.php; ?>" target="_blank" alt="Edit Data" class="btn btn-primary">Cetak Laporan</a>
Tombol cetak Laporan yang dimaksud adalah yang dibawah tabel seperti yang terlihat pada gambar berikut:
dibawah tabel ada kita buat tombol cetak laporan yang nantinya mengarah ke cetak.php
Langkah 5. Menampilkan Data Transaksi Setelah Anda mendapatkan hasil kueri
Tampilkan data transaksi tersebut sesuai dengan kebutuhan Anda. Anda dapat menggunakan perulangan untuk menghasilkan tabel HTML yang menampilkan detail transaksi. Format tabel ini dapat disesuaikan sesuai kebutuhan Anda, seperti menambahkan kolom-kolom tambahan atau mengatur tampilan. Pada script di point ke empat pada baris terakhir hasil pencarian akan ditampilkan ke cetak.php. Script cetap.php ini hampir sama dengan yang diatas tetapi tidak ada pilihan tanggal, jadi hanya hasil dari pencarian serta penampungan tanggal yg difilter.
berikut codingan cetak.php
<?php
session_start();
include_once "../../config/koneksi.php";
include_once "../../config/library.php";
$awal = $_GET['awal'];
$akhir = $_GET['akhir'];
//panggil variabel awal dan akhir yang ditombol Cetak laporan
?>
<body onload="print()">
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" name="frmedit">
<?php if (!empty($tglAwal)){ ?>
<center><h2>DAFTAR LAPORAN TRANSAKSI PEMESANAN</h2> <hr> <br></h4>PERIODE PEMESANAN <b><?php echo IndonesiaTgl($awal); ?> s/d <?php echo IndonesiaTgl($akhir); ?></b>
<br />
</h4></center>
<?php } else { ?>
<center><h2>DAFTAR LAPORAN TRANSAKSI PEMESANAN
</h2></center>
<hr>
<?php } ?>
<table class="table my-0">
<thead>
<th>No</th>
<th>No Pesanan</th>
<th>Tgl Pesanan</th>
<th>Nama Member</th>
<th>Metode Bayar</th>
<th>Status Bayar</th>
<th>Total Bayar</th>
</thead>
<tbody>
<?php
$Sql = "SELECT A.*, B.namamember FROM pesanan A, member B $SqlPeriode and A.kdmember=B.kdmember";
$myQry = mysqli_query($mysqli, $Sql) or die ("Query salah : ".mysqli_error());
$nomor = 0;
$jumlahbayar=0;
while ($myData = mysqli_fetch_array($myQry)) {
$jumlahbayar+=$myData['totbayar'];
$nomor++;
?>
<tr>
<td><?php echo $nomor;?></td>
<td><?php echo $myData['kdpesanan'];?></td>
<td><?php echo $myData['tglpesanan'];?></td>
<td><?php echo $myData['namamember'];?></td>
<td><?php echo $myData['metodebayar'];?></td>
<td><?php echo $myData['statusbayar'];?></td>
<td>Rp. <?php echo number_format($myData['totbayar']);?></td>
</tr>
<?php
} ;
?>
</tbody>
<tr>
<th align="center" ><strong></strong></th>
<th ><strong></strong></th>
<th ><strong></strong></th>
<th ><strong></strong></th>
<th ><strong></strong></th>
<th ><strong> Total transaksi</strong></th>
<th style="background-color:whitesmoke;" align="right" ><strong>Rp. <?php echo number_format($jumlahbayar); ?>,-</strong></th>
</tr>
</table>
</form>
</body>
supaya tampil versi cetak maka diberikan pada tag <body onload=”print()”>, artinya otomatis melakukan aktivitas print.
Kesimpulan Golan:
Membuat laporan periode dari transaksi menggunakan PHP dan MySQL adalah proses yang relatif sederhana. Dengan menggunakan fitur-fitur dasar dari PHP seperti pengolahan form dan koneksi database, Anda dapat mengambil data transaksi yang relevan dan menampilkannya dalam bentuk laporan yang berguna. Penting untuk memahami prinsip-prinsip dasar pengolahan data di PHP dan SQL agar dapat membuat laporan yang akurat dan sesuai dengan kebutuhan Anda. Dengan menggunakan teknologi ini, Anda dapat menganalisis kinerja bisnis Anda dan membuat keputusan yang lebih baik berdasarkan data.
Untuk lebih jelas, Sahabat Golan bisa tonton video dengan link berikut: https://youtu.be/34RDoHqs4Wc
Semoga videonya membantu Anda ya dalam pembuatannya.
Untuk script Full bisa kontak ke Golan Education.
Syaratnya ikut berdonasi seiklasnya ke Golan Education. Berapapun yang Anda berikan sangat bermanfaat untuk pengembangan Golan Education.
Bukti donasi silahkan kirimkan ke Wa tercantum diatas dan konfirmasi, maka akses google drive akan diberikan.
Rekening Untuk Donasi:
A/n. Esron Rikardo Nainggolan
BCA : 6470317297
Kirimkan bukti transfer ketika mau dibukakan aksesnya.
Apabila Anda kesulitan dalam pembuatan laporan ataupun error codingan atau logika codingan Anda tidak ketemu. Silahkan diskusikan dengan Golan Education. Golan Education dengan senang hati membantu Anda. Akan dilatih dan diajarkan secara online melalui Zoom. Silahkan kalau Anda berminat. Golan Education juga membuka pelatihan pembuatan website dengan tema sesuai permintaan Anda. Silahkan konsultasikan segera. Silahkan juga kunjungi kursus Golan untuk mengetahui layanan kursus yang dibukakan saat ini.
Note:
Golan Education juga menyediakan contoh website lainnya seperti company profile, berita online, sistem kasir, sistem persediaan, sistem penjualan, sistem pendataan, sistem informasi akademik, sistem elerning, sistem kursus, dan lain sebagainya. silahkan kunjungi Golan Website untuk lebih detail. Golan Website adalah bagian dari Golan Group.
Salam Golan, Salam Pencapaian untuk Kita Semua.
Terima Kasih
sangat bermanfaat, dan mudah di pahami.. terimakasih mimin