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();
?>

Post a Comment

8 Comments

  1. mas itu ambil $_post nya gimana ya ?

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

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

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

    ReplyDelete
  5. gan skalian buat tutorial untuk codeigniternya

    ReplyDelete
  6. ada link download nya gak gan, klw berkenan ini gmail saya ya

    pandirotama@gmail.com

    ReplyDelete
  7. mas bisa filenya di atas ngga? untuk bahan belajar

    ReplyDelete

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.