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

Oke sahabat Blogger yang setia, kali ini akan dibahas bagaimana menyusun laporan dengan PHP dalamformat PDF yang susunan datanya diambil dari database MySQL. Tentu saja hal ini akan sangat berguna bagi para developer sistem informasi, karena pada umumnya sistem informasi harus memiliki proses reporting data. Proses pembuatan 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 tidak sulit, karena hanya menggabungkan pengambilan data, dan selanjutnya menampilkannya dalam bentuk PDF. Itu saja.
Bagi yang belum memiliki FPDF, bisa download langsung dari situs resminya di http://www.fpdf.org/

Oke tanpa berlama-lama, kita langsung ke TKP saja .
Kita ibaratkan, kita memiliki tabel data pegawai dengan format seperti berikut:

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

Dengan format data demikian, maka pengambilan data dari dalam tabel dapat dilakukan dengan sintaks MySQL demikian :

SELECT * FROM `pegawai`

Begitu pula, sintaks ini akan dijadikan Query yang akan dieksekusi oleh PHP. Perkiraan Commandnya adalah sebagai berikut:

$sql = "SELECT * FROM `pegawai`";
$query  = mysql_query( $sql );
while( $result=mysql_fetch_array( $query ) )
{  
//tampilkan  
}

Dengan melakukan kombinasi perintah dengan pembuatan laporan PDF, maka dapat dibuat 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);    

//membuat 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 `pegawai`";  
$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 buat anda semua ,,.
Lebih baru Lebih lama