[Contoh] Membuat Laporan PDF dengan PHP dan Database MySQL

Jika pada posting lalu (https://blogit.bimosaurus.com/2012/04/08/contoh-membuat-laporan-pdf-dengan-php/) telah terpaparkan tentang pembuatan laporan download 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

}
//telah diedit, hasil koreksi dari mas boyan_13@yahoo.co.id... tx

 

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 : https://blogit.bimosaurus.com/demo/reporting.php

Semoga berguna

[Contoh] Membuat Laporan PDF dengan PHP

Salah satu bentuk output yang dibutuhkan oleh pengguna layanan web adalah sebuah laporan download dalam bentuk PDF. PDF (portable document format) adalah bentuk dokumen siap print. Dokumen berformat PDF sendiri dapat dibentuk dari PDF. Seperti pada posting sebelum ini telah dikenalkan sedikit mengenai fungsi library FPDF, dimana dengan beberapa command PHP dapat membuat dokumen berformat PDF. Berikut di sini akan dipaparkan beberapa perintah penting dengan satu contoh pembuatan laporan PDF dengan PHP.

Langkah pertama adalah, kita pastikan dulu bahwa library fpdf telah diinclude dengan baik dengan perintah semacam ini:

 

ob_start();
define('FPDF_FONTPATH','libs/fpdf/font/');
require('libs/fpdf/fpdf.php');

Selanjutnya kita perlu melakukan pemanggilan constructor Class PHP bernama FPDF yang terdapat pada library.Command yang digunakan contohnya adalah :

$pdf = new FPDF($posisi_halaman,$satuan,$jenis_kertas);

dengan

$posisi_halaman berisi : P (Portrait/tegak) atau L (Landscape/mendatar). Jika tidak diisi akan berisi P
$satuan : pt (point), mm (milimeter), cm (centimeter), in (inchi). Jika tidak diisi akan berisi mm
$jenis_kertas : A3, 4, A5, Letter, Legal (Perbedaan kapital karakter akan berpengaruh)

 

Selanjutnya melakukan pemanggilan fungsi dasar Open(); dan dilanjutkan dengan pembukaan halaman.

$pdf->Open();
$pdf->AddPage();

 

Selanjutnya, kita dapat memasukkan materi / isi dari dokumen tersebut dengan memanfaatkan fungsi-fungsi berikut:
SetFont($jenis_font,$tebalmiring,$ukuran);

Contoh :

$pdf->SetFont('Arial','B','14');

 

tentunya dengan font yang telah ada dalam library fpdf kita masing-masing. Font ini dapat ditambah.

 

Image($lokasi_gambar,$jarak_cm_dari_kiri,$jarak_cm_dari_atas,$tinggi_gambar,$panjang_gambar);

Contoh :

$pdf->Image('images/koding1.jpeg',17,1,3,3);
$pdf->Image('images/koding2.jpeg',17,4,3,3);
$pdf->Image('images/koding3.jpeg',17,7,3,3);

Cell($panjang_sel,$tinggi_sel,$isi_sel,$keterangan_border,$berapa_spasi,$margin);

Contoh:

$pdf->Cell(9.5,2,'Percobaan pembuatan PDF',1,0,'L');

Spasi yang dibentuk oleh $berapa_spasi, akan sesuai dengan $berapa_spasix$tinggi_sel

Margin dapat berisi : L(Left) C(Center) dan R(Right)

Keterangan Border akan terdapat border jika berisi angka bukan 0.
Ln();

Perintah pindah baris

$pdf->Ln();

 

Output();

Adalah perintah tampilkan ke layar

$pdf->Output();

 

 

Berikut contoh lengkap satu script PHP dasar untuk membuat pencetakan berbentuk PDF:

ob_start();

define('FPDF_FONTPATH','libs/fpdf/font/');

require('libs/fpdf/fpdf.php');

   $pdf=new FPDF('P','cm','Letter');

   $pdf->Open();

   $pdf->AddPage();

   $pdf->SetFont('Arial','B',12);

   $pdf->Image('images/koding1.jpeg',17,1,3,3);
   $pdf->Image('images/koding2.jpeg',17,4,3,3);
   $pdf->Image('images/koding3.jpeg',17,7,3,3);

   $pdf->SetFont('Arial','B',20);
   $pdf->Cell(9.5,2,'Latihan membuat PDF',1,0,'L');
   $pdf->Ln();
   $pdf->SetFont('Arial','B',14);
   $pdf->Cell(9.5,2,'Oleh bimosaurus.com',0,0,'L');
   $pdf->Ln();

   $pdf->Output();

 

Hasilnya adalah sebagai berikut : https://blogit.bimosaurus.com/demo/pdf.php

FPDF dapat di download di situs aslinya fpdf.org atau di sini langsung KLIK

Untuk laporan lanjut dapat dilihat di sini https://blogit.bimosaurus.com/2012/04/09/contoh-membuat-laporan-pdf-dengan-php-dan-database-mysql