Cara Buat Laporan Harian, Mingguan, Bulanan Dengan Script PHP

Dalam membuat sebuah halaman aplikasi website terkadang kita dihadapkan dengan proses menampilkan laporan data per kurun waktu, dalam artian laporan harian, mingguan, bulanan maupun tahunan. Pada contoh kasus tersebut sering dijumpai pada proses pembuatan aplikasi website seperti pengolahan data penjualan, inventaris barang, aplikasi klinik dan masih banyak lagi contoh-contoh kasus lainnya yang diwajibkan untuk menampilkan laporan per kurun waktu tersebut.

Untuk membedah persoalan tersebut, pada postingan tutuorial kali ini saya akan membahas tentang bagaimana cara menampilkan dan membuat laporan harian, mingguan, bulanan, dan tahunan dengan PHP. Contoh kasus yang akan dijadikan sampel pada tutorial ini yaitu membuat laporan dengan PHP dari data penjualan produk. Namun dapat pula diterapkan pada contoh kasus-kasus lainnya (yang penting ada data tanggal transaksinya). Contoh gambar studi kasus yang dijadikan sampel tersebut dapat dilihat pada gambar berikut:
 

Sebelum kita mengimplementasikan untuk membuat laporan data bedasarkan kurun waktu tertentu maka, langkah awal yang dilakukan yaitu menyiapkan sebuah database beserta dengan tabelnya dengan menggunakan field-field tanggal_order, nama_produk, nama_pelanggan, email, no_hp, alamat_pengiriman, jumlah, diskon, harga dan ongkos kirim (jika teman-teman menggunakan contoh kasus seperti gambar diatas).

Proses pembuatan database, table dan penginputan datanya tidak dibahas pada tutorial kali ini. Saya menganggap teman-teman sudah pada paham proses pembuatan database serta table pada mysql dan atau mungkin teman-teman sudah siap mengimplementasikan dengan contoh studi kasus lainnya.

Cara menampilkan dan buat laporan Harian, Mingguan, Bulanan, Tahunan dengan script PHP kali ini menggunakan fungsi Combobox. Adapun langkah-langkahnya sebagai berikut:

Buat terlebih dahulu sebuah file php function combobox yang nantinya digunakan untuk manampilkan laporan perkurun waktu tertentu. Kemudian masukan script code berikut:
 

<?php

function combotgl($awal, $akhir, $var, $terpilih){

  echo "<select name=$var>";

  for ($i=$awal; $i<=$akhir; $i++){

    $lebar=strlen($i);

    switch($lebar){

      case 1:

      {

        $g="0".$i;

        break;    

      }

      case 2:

      {

        $g=$i;

        break;    

      }     

    } 

    if ($i==$terpilih)

      echo "<option value=$g selected>$g</option>";

    else

      echo "<option value=$g>$g</option>";

  }

  echo "</select> ";

}

 

function combobln($awal, $akhir, $var, $terpilih){

  echo "<select name=$var>";

  for ($bln=$awal; $bln<=$akhir; $bln++){

    $lebar=strlen($bln);

    switch($lebar){

      case 1:

      {

        $b="0".$bln;

        break;    

      }

      case 2:

      {

        $b=$bln;

        break;    

      }     

    } 

      if ($bln==$terpilih)

         echo "<option value=$b selected>$b</option>";

      else

        echo "<option value=$b>$b</option>";

  }

  echo "</select> ";

}

 

function combothn($awal, $akhir, $var, $terpilih){

  echo "<select name=$var>";

  for ($i=$awal; $i<=$akhir; $i++){

    if ($i==$terpilih)

      echo "<option value=$i selected>$i</option>";

    else

      echo "<option value=$i>$i</option>";

  }

  echo "</select> ";

}

 

function combonamabln($awal, $akhir, $var, $terpilih){

  $nama_bln=array(1=> "Januari", "Februari", "Maret", "April", "Mei",

                      "Juni", "Juli", "Agustus", "September",

                      "Oktober", "November", "Desember");

  echo "<select name=$var>";

  for ($bln=$awal; $bln<=$akhir; $bln++){

      if ($bln==$terpilih)

         echo "<option value=$bln selected>$nama_bln[$bln]</option>";

      else

        echo "<option value=$bln>$nama_bln[$bln]</option>";

  }

  echo "</select> ";

}

 

?>


Catatan : Fungsi combox tersebut yang berfungsi yang akan meng-eksekusi proses menampilkan tanggal, bulan dan tahun seperti contoh gambar berikut.
 

Selanjutnya buatkan script php yang berfungsi untuk pemanggilan laporan yang telah dipilih sesuai kebutuhan. Adapun scrptnya seperti berikut:
 

 <html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Laporan Data</title>

</head>

<table class='table1'>

              <tr>

<td align="center" colspan='2'>

<h2>CONTOH DATA</h2>

<h2>LAPORAN PENJUALAN PRODUK kodingbuton.com</h2>

 

                   </td>

              </tr>

<strong><hr></strong>

 

<table border='1' class='table'>

<tr>

<th align="center">No.</th>

<th>Tanggal Order</th>

<th>Nama Produk</th>

<th>Nama Pelanggan</th>

<th>Email /Kontak</th>

<th>Alamat Pengiriman</th>

<th>Qty </th><th>Diskon </th>

<th>Harga + Ongkir </th>

</tr>

 

<?php

include "conec.php";

include "fungsi_combobox.php";

$tgl_awal = $_POST['thn_mulai']."-".$_POST['bln_mulai']."-".$_POST['tgl_mulai'];

$tgl_akhir = $_POST['thn_selesai']."-".$_POST['bln_selesai']."-".$_POST['tgl_selesai'];

$query=mysql_query("SELECT * FROM orders_detail a, orders b, produk c, kota d WHERE b.tgl_order BETWEEN '$tgl_awal' AND '$tgl_akhir' AND a.id_produk=c.id_produk AND a.id_orders=b.id_orders AND b.id_kota=d.id_kota AND b.id_orders AND b.status='S1' ORDER BY b.id_orders DESC");

 

$cnt=1;

while($row=mysql_fetch_array($query)){

     $tgl=tgl_indo($row['tgl_order']);

     $sale   = $row[harga]*$row[diskon]/100 * $row[jumlah];

      $subtotal    = $row[jumlah]*$row[harga]+$row[ongkos_kirim]- $sale;

    $total       = $total + $subtotal;

    $sub_jum    = $row[jumlah];  

    $total_j     = $total_j + $sub_jum; 

?>

<tr>

<td align='center'><?php echo $cnt ?>.</td>

<td align="center"><?php echo htmlentities($tgl);?></td>

<td> &nbsp; <?php echo htmlentities($row['nama_produk']);?></td>

<td> &nbsp; <?php echo $row['nama_kustomer'];?></td>

<td> &nbsp; <?php echo $row['email'];?> / <?php echo $row['telpon'];?> </td>

<td> &nbsp; <?php echo htmlentities($row['alamat']);?> </td>

<td> <center><?php echo $row['jumlah'];?></center></td>

<td><center> <?php echo $row['diskon'] ?> %</center></td>

<td align="right">Rp. <?php echo format_rupiah(($row['harga'] * $row['jumlah']+$row['ongkos_kirim'] - $sale ));?>,-&nbsp;</td>

                                                    

</tr>

<?php $cnt=$cnt+1; } ?>

 <tr> 

<td colspan="6"><div align="left"><strong>TOTAL JUMLAH</strong></div></td>

<td align="center"><strong><?php echo $total_j;?></strong></td>

<td align="right" colspan="2"><strong>Rp. <?php echo format_rupiah( $total ) ;?>,-&nbsp;</strong></td>

</tr>       

</table>

<body>

</body>

</html>
 
 

Apabila semua proses berhasil dilakukan maka akan tampak seperti gambar pertama diatas.

 

Lihat juga: Script Print Data dan Save PDF Pada PHP dan MySQL

 

Demikian pembahasan tentang cara buat laporan Harian, Mingguan, Bulanan, Tahunan dengan script PHPsemoga apa yang saya bagikan ini dapat bermanfaat dan menjadi Inspirasi untuk membuat Source Code halaman website anda.

Apabila ada source code yang tidak berjalan, error atau  tidak sesuai,, silahkan isi kolom komentar pada bagian bawah tutorial ini...!.

2 Comments

  1. function tgl_indo itu dri mna gan ?? d sni ga ada

    ReplyDelete
  2. Terimakasih atas informasinya! Ketahui juga tentang aplikasi kasir retail untuk membantu bisnis anda.

    ReplyDelete

Post a Comment

Previous Post Next Post