Membuat Laporan Pertanggal dengan Class FPDF PHP

Ini adalah lanjutan dari postingan sebelumnya tentang bagaimana membuat laporan atau report dengan menggunakan class FPDF PHP jika anda belum membacanya silahkan lihat disini. Pada postingan tersebut saya sudah membahas bagaimana membuat sebuah laporan dari semua data yang diambil dari tabel database dan rasanya kurang lengkap jika saya belum membahas bagaimana membuat laporan pertanggal dengan class FPDF ini. stay tune ok. :)

sebelum membuat laporan pertanggal berdasarkan data yang ada di tabel database pastikan dalam field tabel tersebut ada sebuah field dengan type Date/Tanggal suatu misal tanggal register atau tanggal transaksi seperti contoh tabel saya berikut ini.

Membuat Laporan Pertanggal dengan Class FPDF PHP

Selanjutnya sebelum mengeksekusi tombol cetak akan ada penyeleksian data yang dicetak dari tanggal berapa sampai tanggal berapa. Untuk lebih memudahkan sebaiknya memanfaatkan Penggunaan Date time Picker seperti postingan saya disini. Sehingga tampilannya akan menjadi seperti berikut

Membuat Laporan Pertanggal dengan Class FPDF PHP

Membuat Laporan Pertanggal dengan Class FPDF PHP
Kemudian anda tinggal menambahkan aksi formnya menuju file Cetak Laporan anda. Berikut adalah contoh script cetak laporan pertanggal yang saya gunakan. 
<?php 
 include "fpdf.php";
 include "koneksi.php";
 
 class PDF extends FPDF{
 
 // Load data = Pecah Array 
 function LoadData($gue){
  $data = array();
  if (is_array($gue)) {
  foreach($gue as $coba)
   $data[] = explode('|',$coba);
  }
  return $data;
 }

 // Fungsi Membuat Tabel
 function FancyTable($header, $data){
  // Colors, line width and bold font
  $this->SetFillColor(255,0,0);
  $this->SetTextColor(255);
  $this->SetDrawColor(128,0,0);
  $this->SetLineWidth(.3);
  $this->SetFont('','B');
  // Lebar Header Sesuaikan Jumlahnya dengan Jumlah Field Tabel Database
  $w = array(10, 30, 35, 40, 25, 40);
  for($i=0;$i<count($header);$i++)
   $this->Cell($w[$i],7,$header[$i],1,0,'C',true);
  $this->Ln();
  // Color and font restoration
  $this->SetFillColor(224,235,255);
  $this->SetTextColor(0);
  $this->SetFont('');
  // Data
  $fill = false;
  foreach($data as $row){
   // Field Dari Database Yang Ingin ditampilkan
   // $this->Cell($w[Ubah Ini],6,$row[Ubah Ini],'LR',0,'L',$fill);
   $this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
   $this->Cell($w[1],6,$row[1],'LR',0,'L',$fill); 
   $this->Cell($w[2],6,$row[2],'LR',0,'L',$fill);
   $this->Cell($w[3],6,$row[3],'LR',0,'L',$fill);
   $this->Cell($w[4],6,$row[4],'LR',0,'L',$fill);
   $this->Cell($w[5],6,$row[5],'LR',0,'L',$fill);
   $this->Ln();
   $fill = !$fill;
  }
  // Closing line
  $this->Cell(array_sum($w),0,'','T');
 }
 }

 $pdf = new PDF();
 // Pendefinisian Header Tabel 
 $header = array('ID','Tanggal','Nama','Jenis Kelamin','Agama','Alamat');
 // Load Data dari Database Memilih Data Berdasarkan Tanggal yang diinput
 $dataku = mysql_query("SELECT * FROM data WHERE (((tanggal) BETWEEN '".$_POST['dari']."' AND '".$_POST['sampai']."'))");
 while ($tampil=mysql_fetch_array($dataku)){
 // Simpan Kedalam Array dengan Batasan |
 @$gue[] .= $tampil['id']."|".$tampil['tanggal']."|".$tampil['nama']."|".$tampil['jenis_kelamin']."|".$tampil['agama']."|".$tampil['alamat'];
 }

 // Cetak Laporan
 $data = $pdf->LoadData($gue);
 $pdf->SetFont('Arial','',14);
 $pdf->AddPage();
 $pdf->FancyTable($header,$data);
 $pdf->Output();
?>

Share this

Related Posts

Previous
Next Post »

6 comments

comments
Anonymous
13 January 2015 at 22:41 delete

mas itu ambil $_post nya gimana ya ?

Reply
avatar
25 October 2015 at 19:14 delete

mas bisa minta file download nya aja gk kayanya ada yg krng jelas d penjelasanya mas jdi bingung

Reply
avatar
11 February 2016 at 01:11 delete

wahhh..... ndak bisa ngikutin mas, pdahal butuh banget

Reply
avatar
10 March 2016 at 11:33 delete

mas bisa minta filenya aja gk kirim melalui gmail saya "sabdarachmaddan12@gmail.com" saya sangat membutuhkan tutorial dari mas

Reply
avatar
Anonymous
24 November 2016 at 20:52 delete

gan skalian buat tutorial untuk codeigniternya

Reply
avatar

bantu kami untuk lebih baik; jika ada hal yang kurang jelas atau broken link silahkan masukan komentar anda kami akan segera menanggapi dan memperbaikinya. login ke akun gmail anda untuk menampilkan form komentar.