Tutorial PHP : Contoh Membuat Laporan PDF dengan PHP dan Database MySQL

Posted on

Oke rekan rekan Blogger yang setia, kali ini akan dibahas bagaimana menyusun laporan dengan PHP padaformat PDF yang susunan datanya diambil dari database MySQL. Tentu saja hal ini akan amat bermanfaat untuk para developer sisfo, karena di umumnya sisfo mesti mempunyai proses reporting data. Proses perancangan reporting PDF dengan menggunakan PHP ini dapat dilakukan dengan menggunakan FPDF seperti posting sebelumnya. Hanya saja prosesnya akan ditambah dengan proses pengambilan data dari database server MySQL. Proses ini tak sulit, karena hanya menggabungkan pengambilan data, dan berikutnya menampilkannya pada wujud PDF. Itu saja.
Untuk yang belum mempunyai FPDF, dapat unduh seketika dari situs resminya di http://www.fpdf.org/

Oke tanpa berlama-lama, kita seketika ke TKP saja .
Kita ibaratkan, kita mempunyai tabel data staff dengan format seperti berikut:

nip nama honor status_ambil
10001 Ivan Rp. 1000000 Belum
10002 Nita Rp. 1000000 Telah
10003 Andre Rp. 2000000 Telah
10004 Parto Rp. 1500000 Belum
10005 Sule Rp. 1000000 Belum

Dengan format data demikian, karenanya pengambilan data dari pada tabel dapat dilakukan dengan sintaks MySQL demikian :

SELECT * FROM staff

Seperti itu pula, sintaks ini akan dijadikan Query yang akan dieksekusi oleh PHP. Perkiraan Commandnya ialah selaku berikut:

$sql = “SELECT * FROM staff“;
$query  = mysql_query( $sql );
while( $result=mysql_fetch_array( $query ) )
{  
//tampilkan  
}

Dengan menjalankan kombinasi command dengan perancangan report PDF, karenanya dapat dikerjakan script seperti berikut:

ob_start();
define(‘FPDF_FONTPATH’,’libs/fpdf/font/’);
require(‘libs/fpdf/fpdf.php’);  
if( mysql_connect( “localhost”,”reporting”,”reporting” ) )
{
mysql_select_db( “kepegawaian” );
}
else
{
echo “maaf, data gagal”;
}
class PDF extends FPDF
{
function Header()
{
$this->Image(‘logo_print.jpg’,2,1,2);  
$this->SetFont(‘Arial’,’B’,11);  
$this->Cell(0,0.75,’ IVAN SILALAHI ‘,0,0,’C’);  
$this->Ln();  
$this->SetFont(‘Arial’,’B’,14);  
$this->Cell(0,0.75,’TOKO X’,0,0,’C’);  
$this->Ln();  
$this->SetFont(‘Arial’,”,9);  
$this->Cell(0,0.5,’Jl. Buntu(01234)123456′,0,0,’C’);  
$this->Ln();   $this->Ln();
$this->SetFont(‘Arial’,”,14);
$this->Line(1, 4, 21, 4);  
$this->Ln();
$this->SetFont(‘Arial’,’B’,11);
$this->Cell(0,0.75,’HRD’,0,0,’C’);  
$this->Ln();
}  
}      
$pdf=new PDF(‘P’,’cm’,’Letter’);  
$pdf->Open();  
$pdf->AliasNbPages();  
$pdf->AddPage();  
$pdf->SetMargins(1.5,1,1.5);  
$pdf->SetFont(‘Arial’,’B’,12);    

//membangun kop tabel

$x=$pdf->GetY();  
$pdf->SetY($x+1);  
$pdf->SetFont(‘Courier’,’B’,10);  
$pdf->Cell(5,0.5,’NIP’,1,0,’L’);
$pdf->Cell(5,0.5,’Nama’,1,0,’L’);
$pdf->Cell(5,0.5,’Honor’,1,0,’L’);
$pdf->Cell(5,0.5,’Status Ambil’,1,0,’L’);  

//query dan arraying

$sql =”SELECT * FROM staff“;  
$query = mysql_query( $sql );      
while( $result= mysql_fetch_array( $query ))
{  
$nip = $result[‘nip’];
$nama = $result[‘nama’];
$honor = $result[‘honor’];
$status_ambil = $result[‘status_ambil’];  
$pdf->SetFont(‘Courier’,’B’,10);  
$pdf->Cell(5,0.5,’$nip’,1,0,’L’);
$pdf->Cell(5,0.5,’$nama’,1,0,’L’);
$pdf->Cell(5,0.5,’$honor’,1,0,’L’);
$pdf->Cell(5,0.5,’$status_ambil’,1,0,’L’);
}    
$pdf->Output();

Selamat mencoba bikin sahabat segala ,,.

Leave a Reply

Your email address will not be published. Required fields are marked *