Skip to content

[Contoh] Membuat Laporan PDF dengan PHP

April 9, 2012

http://bimosaurus.com/2012/04/09/contoh-membuat-laporan-pdf-dengan-php-dan-database-mysql/

 

Jika pada posting lalu (http://bimosaurus.com/2012/04/08/contoh-membuat-laporan-pdf-dengan-php/) telah terpaparkan tentang pembuatan laporan PDF dengan menggunakan PHP, kali ini akan dibahas bagaimana menyusun reporting dengan PHP dalam format 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. Berikut contoh pengambilan data.
Katakan, kita memiliki tabel data pegawai dengan format seperti berikut:

nip nama honor status_ambil
10001 Susanto Rp. 1000000 Belum
10002 Susanti Rp. 1000000 Sudah
10003 Marwoto Rp. 2000000 Sudah
10004 Gunadi Rp. 1500000 Belum
10005 Nur Eko 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 reporting 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,' TUKANG HRD ',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. Soekarno Hatta KM 100 Antar Bermuntah Telp (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();

Berikut kira-kira hasilnya akan seperti demikian : http://bimosaurus.com/demo/reporting.php

Semoga berguna

From → Tak Berkategori

3 Komentar
  1. erick permalink

    sintak eror pada :$while( $result=mysql_fetch_array( $query ) ){

    //tampilkan

    }

    tolong di periksa

  2. Ritsa permalink

    maaf, saya mau tanya, ini kok data dari table(databasenya) kok gk kluar ya pas di PDFnya??

    Mohon bantuannya, thanks and Gbu🙂

  3. Terimakasiih, sayangnya tidak begitu lengkap keterangan tidak keluarnya.. hehehe.. tapi saya coba jawab:
    coba untuk pertamakali, cek dulu apakah proses fetch_array itu berjalan dengan baik? Caranya adalah membuat halaman tanpa PDF hanya sekedar mengetest proses fetch_array saja?

    Oh ya sdr Ritsa saya undang juga ke sumber asli dari blog tersebut di http://bimosaurus.com/2012/04/09/contoh-membuat-laporan-pdf-dengan-php-dan-database-mysql/ Dan disana telah terdapat berbagai macam percakapan, barangkali ada kemiripan kasus.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: