Jumat, 06 Juli 2012

Cara Membuat Report PDF di Web dengan PHP dan MySQL

Membuat Report di Web dengan PHP dan MySQL

Tulisan ini adalah pengalaman pribadi pada waktu praktek industri. ketika melakukan praktek industri saya disuruh untuk membuat laporan dari sebuah website dimana pada laporan itu merupakan rekap data absensi dari web. laporan ini berbentuk file *.pdf dengan data laporan dari mysql.
<?php
require_once "koneksi.php";
include "../config/library.php";
$tgl=sprintf("%02d%02d%02d",$_POST['thn_mulai'],$_POST['bln_mulai'],$_POST['tgl_mulai']);;
$query = "SELECT * FROM absensi WHERE jam_absen BETWEEN '07:30:00' AND '08:00:00' AND tgl_absen='$tgl'";
$sql = mysql_query ($query);
$data = array();
while ($row = mysql_fetch_assoc($sql)) {
array_push($data, $row);
}
#setting judul laporan dan header tabel
$judul = "";
$header = array(
array("label"=>"NIP", "length"=>40, "align"=>"L"),
array("label"=>"NAMA", "length"=>45, "align"=>"L"),
array("label"=>"TANGGAL HADIR", "length"=>35, "align"=>"L"),
array("label"=>"JAM HADIR", "length"=>30, "align"=>"L")
);
#sertakan library FPDF dan bentuk objek
require_once ("fpdf/fpdf.php");
$pdf = new FPDF();
$pdf->AddPage();
#tampilkan judul laporan
$pdf->SetFont('Arial','B','0');
$pdf->Cell(0,8, $judul, '0', 1, 'C');
#buat header tabel
$pdf->SetFont('Arial','','10');
$pdf->SetFillColor(255,0,0);
$pdf->SetTextColor(255);
$pdf->SetDrawColor(128,0,0);
foreach ($header as $kolom) {
$pdf->Cell($kolom['length'], 5, $kolom['label'], 1, '0', $kolom['align'], true);
}
$pdf->Ln();
#tampilkan data tabelnya
$pdf->SetFillColor(224,235,255);
$pdf->SetTextColor(0);
$pdf->SetFont('');
$fill=false;
foreach ($data as $baris) {
$i = 0;
foreach ($baris as $cell) {
$pdf->Cell($header[$i]['length'], 5, $cell, 1, '0', $kolom['align'], $fill);
$i++;
}
$fill = !$fill;
$pdf->Ln();
}
#output file PDF
$pdf->Output();
?>
kemudian untuk membuat pdfnya saya menggunakan fpdf yang bisa di download disini
sintaks diatas merupakan cara untuk membuat laporan di web. masih sederhana tapi sangat membantu saya, mungkin dari para pembaca ada masukkan bisa langsung komentar