Membuat Laporan PDF dengan PHP dan Database MySQL FPDF

January 11, 2017 | Author: Nugraha Kristanto | Category: N/A
Share Embed Donate


Short Description

Membuat Laporan PDF dengan PHP dan Database MySQL FPDF...

Description

Tutorial PHP, Advanced, Dasar, MySQL, Database, Sistem Informasi, Linux, SMS Gateway, PDF, JPGraph, Grafik, Excel, Laporan

Belajar Web, PHP, MySQL, HTML, CSS Gratis disini

[Contoh] Membuat Laporan PDF dengan PHP dan Database MySQL [Translate to English] +1 Recommend this on Google Suka

36

9-April-2012 ditulis oleh bimosaurus

Jika pada posting lalu (http://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 : 1 SELECT * FROM `pegawai`

Begitu pula, sintaks ini akan dijadikan Query yang akan dieksekusi oleh PHP. Perkiraan Commandnya adalah sebagai berikut: 1 2 3 4 5 6 7 8

$sql = "SELECT * FROM `pegawai`"; $query = mysql_query( $sql ); while( $result=mysql_fetch_array( $query ) ){ //tampilkan } //telah diedit, hasil koreksi dari mas [email protected]... tx

Dengan melakukan kombinasi perintah dengan pembuatan reporting PDF, maka dapat dibuat script seperti berikut: 1 2 3 4 5 6

ob_start(); define('FPDF_FONTPATH','libs/fpdf/font/'); require('libs/fpdf/fpdf.php'); if( mysql_connect( "localhost","reporting","reporting" ) ){ mysql_select_db( "kepegawaian" );

PHP

7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87

}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'];

88 $pdf->SetFont('Courier','B',10); 89 90 $pdf->Cell(5,0.5,'$nip',1,0,'L'); 91 $pdf->Cell(5,0.5,'$nama',1,0,'L'); 92 $pdf->Cell(5,0.5,'$honor',1,0,'L'); 93 $pdf->Cell(5,0.5,'$status_ambil',1,0,'L'); 94 } 95 96 97 $pdf->Output();

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

Artikel terkait [Contoh] Berkreasi membuat Image From Text dengan PHP Menghilangkan Pesan Error “Notice: Undefined Variable” [Contoh] PHP, MySQL, JQuery Form Posting, Tanpa Autorefresh Halaman / Pindah Halaman [Contoh] Cara Membuat Grafik Dasar Web dengan JQuery JQPlot [Tips] Menambahkan Font dalam Proses Pembuatan Web [Tips] Membaca Metadata Image JPEG/TIFF dengan PHP Perihal NULL dalam SQL [Contoh] Cara Menampilkan Jam Server Secara Real Time

Anda membutuhkan tutorial WEB, SMS Gateway, Linux, Jaringan, PHP, MySQL dan Lainnya? Kirimkan melalui [email protected] dan akan segera ditanggapi oleh team, GRATIS tapi ANTRI ! !

Terdapat dalam: MySQL, PHP |

25 Komentar »

25 Responses 1. [Contoh] Membuat Laporan PDF dengan PHP « bimosaurus.wordpress.com Berkata: April 9th, 2012 at 3:58 am

[...] http://bimosaurus.com/2012/04/09/contoh-membuat-laporan-pdf-dengan-php-dan-database-mysql/ [...] 2. erick Berkata: April 15th, 2012 at 6:19 am

sintak eror pada :$while( $result=mysql_fetch_array( $query ) ){ //tampilkan } tolong di periksa 3. bimosaurus Berkata:

April 16th, 2012 at 1:52 pm

Terimakasih mas, niat saya membuat contoh, ternyata saya salah tanda di sini $while. Harusnya adalah while saja 1 while( $result=mysql_fetch_array( $query ) ){ 2 3 //tampilkan 4 5 }

Terimakasih sekali mas koreksinya, saya edit postingnya 4. [Contoh] Membuat Laporan PDF dengan PHP FPDF | Catatan Bimosaurus Berkata: April 21st, 2012 at 7:42 am

[...] Untuk laporan lanjut dapat dilihat di sini http://bimosaurus.com/2012/04/09/contoh-membuat-laporan-pdf-dengan-php-dandatabase-mysql [...] 5. tady Berkata: May 9th, 2012 at 2:09 am

bebrapa tutorial pembuatan pdf dengan php, namun hasilnya ketika data yang ditampilkan dalam pdf banyak (bisa lebih dari satu lembar) hasil di pdf lembar pertama bagus menampung beberapa array sampai margin bawah, namun pada page pdf berikutnya hanya menampilkan 1 array tiap page-nya, kira2 apa yang salah 6. bimosaurus Berkata: May 9th, 2012 at 6:12 am

Mas Tady, mohon maaf, menunggu ya, karena saya perlu melakukan percobaan. Beberapa project yang pernah saya kerjakan menggunakan halaman lebih dari satu juga. Namun sepertinya tidak apa apa, atau karena saya kurang teliti. Mungkin saya coba siang ini, hingga bertemu dengan kasus yang anda temui. 7. estii Berkata: May 21st, 2012 at 11:47 am

gmn mengambil dari 2 tabel berbeda atau lebih dari @ tabel?? 8. bimosaurus Berkata: May 21st, 2012 at 12:55 pm

Bisa memanfaatkan RELATIONSHIP.. Relationship bisa terbangun dengan Foreign Key. Namun secara sederhana akan saya jelaskan disini dan sekaligus nanti akan saya buat posting. Teknik yang biasa digunakan adalah: 1. Memanfaatkan SUBQUERY. 2. Memanfaatkan perintah JOIN. Sebut saja saya punya dua tabel : biodata, dan gaji. Kira-kira isinya sebagai berikut: biodata nip

nama_pegawai

10001 bimo 10002 candra 10003 dani gaji nip jumlah 10001 10000000 10002 5000000 10003 7000000 Dua tabel tersebut berhubungan dengan nip. Tabel gaji tidak membawa nama_pegawai. Cara mengambil isi tabel dengan subquery adalah dengan cara :

1 $sql = "SELECT *, `gaji`.`jumlah` FROM `pegawai`";

atau dengan cara 1 $sql = "SELECT * FROM `pegawai` LEFT JOIN `gaji` ON `pegawai`.`nip`=`gaji`.`nip`";

Semoga bisa dipahami.. selamat mencoba semoga bermanfaat 9. zoel Berkata: June 10th, 2012 at 5:05 pm

Warning: include(helveticab.php) [function.include]: failed to open stream: No such file or directory in C:\xampp\php\PEAR\fpdf.php on line 541 Warning: include() [function.include]: Failed opening ‘helveticab.php’ for inclusion (include_path=’.;C:\xampp\php\PEAR’) in C:\xampp\php\PEAR\fpdf.php on line 541 FPDF error: Could not include font metric file Mas klo ada tulisan spt itu, ngebenerinnya gmn? Sangat ditunggu jawabannya 10. bimosaurus Berkata: June 10th, 2012 at 11:36 pm

Sepertinya anda menggunakan XAMPP dengan PEAR. Dalam PEAR memang telah ada fitur-fitur untuk pengolahan pdf xls dan image. Namun jika include direktori anda tepat php dapat dipaksa menggunakan source dari yang kita download. Bisakah saya mendapatkan sedikit source, agar dapat ikut memetakan masalah anda? 11. L Berkata: June 15th, 2012 at 8:48 am

Selamat sore, mohon petunjuknya bagaimana cara menampilkan 2 tabel yang berbeda dalam 1 file pdf menggunakan fpdf, Misal saya punya tabel a dan b. Saya ingin menampilkan tabel a kemudian tabel b dalam 1 file pdf. Please give me a favour. Thanx before.. 12. L Berkata: June 15th, 2012 at 8:52 am

Selamat sore, mohon petunjuknya bagaimana cara menampilkan 2 tabel yang berbeda dalam 1 file pdf menggunakan fpdf tanpa menggabungkan (join) 2 tabel tersebut. Misal saya punya tabel a dan b. Saya ingin menampilkan tabel a kemudian di bawahnya tabel b dalam 1 file pdf. Please give me a favour. Thanx before.. 13. L Berkata: June 23rd, 2012 at 1:23 pm

Tuan Bimo, tolong di jawab dong.. Saya stuck di sini.. 14. pendekar Berkata: July 27th, 2012 at 3:11 am

sama semeprti mas tady kasus saya juga seperti ini “ketika data yang ditampilkan dalam pdf banyak (bisa lebih dari satu lembar) hasil di pdf lembar pertama bagus menampung beberapa array sampai margin bawah, namun pada page pdf berikutnya hanya menampilkan 1 array tiap page-nya, kira2 apa yang salah?” sudah ada solusinya??? 15. husni Berkata: August 26th, 2012 at 9:44 am

mas bimo… saya sudah mengikuti tutorial di atas dan cuma menyesuaikan dengan database punya saya, tapi anehnya, kok data yg ditampilkan kosong.

ini contoh script saya $pdf->Cell(2,0.5,’TAHUN’,1,0,’C'); $pdf->Cell(2,0.5,’ANGKATAN’,1,0,’C'); $pdf->Cell(3,0.5,’KODE BIMTEK’,1,0,’C'); $pdf->Cell(5,0.5,’NAMA BIMTEK’,1,0,’C'); $pdf->Cell(6,0.5,’JUDUL BIMTEK’,1,0,’C'); $pdf->Cell(5,0.5,’TANGGAL’,1,0,’C'); $pdf->Cell(6,0.5,’PENGAJAR’,1,0,’C'); //query dan arraying $sql = mysql_query(“SELECT * FROM bimbingan LEFT JOIN pengajar ON bimbingan.id_bimbingan = pengajar.id order by id_bimbingan DESC”); while( $result= mysql_fetch_array( $sql )){ $tahun = $result['tahun']; $angkatan = $result['angkatan']; $bimtek = $result['bimtek']; $id_namabimtek = $result['id_namabimtek']; $id_judul = $result['id_judul']; $tgl = $result['tgl_mulai']; $pengajar = $result['nama_pengajar']; $pdf->SetFont(‘Courier’,'B’,10); $pdf->Cell(2,0.5,’$tahun’,1,0,’L'); $pdf->Cell(2,0.5,’$angkatan’,1,0,’L'); $pdf->Cell(3,0.5,’$bimtek’,1,0,’L'); $pdf->Cell(5,0.5,’$id_namabimtek’,1,0,’L'); $pdf->Cell(6,0.5,’$id_judul’,1,0,’L'); $pdf->Cell(5,0.5,’$tgl’,1,0,’L'); $pdf->Cell(6,0.5,’$pengajar’,1,0,’L'); } 16. hafiz Berkata: September 5th, 2012 at 4:31 pm

saya mengalami masalah seperti mas husni, apa solusinya? 17. dzikra Berkata: September 24th, 2012 at 10:40 am

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\Inventory\report_armatur.php on line 4 Warning: require(libs/fpdf/fpdf.php) [function.require]: failed to open stream: No such file or directory in C:\AppServ\www\Inventory\report_armatur.php on line 13 Fatal error: require() [function.require]: Failed opening required ‘libs/fpdf/fpdf.php’ (include_path=’.;C:\php5\pear’) in C:\AppServ\www\Inventory\report_armatur.php on line 13 mas kalo msalahnya seperti ini bagaimana ya? 18. shadowkai Berkata: September 26th, 2012 at 4:28 am

Mas broo saya mau tanya klo saya mau menampilkan database saya secara baris itu gmana yah?? jadi contonhnya nama:$result['nama']; tahun:$result['tahun']; jadi outputnya nanti 1.nama:abdul tahun:1998 2.nama:ahamad tahun:1997

2.nama:jupri tahun:1999 19. fadixz Berkata: November 14th, 2012 at 5:20 am

mas.. saya punya masalah ni untuk mendownload file pdf. mohon bantuaannya. berikut saya kirimkan databases-nya beserta script-nya. – phpMyAdmin SQL Dump – version 3.4.5 – http://www.phpmyadmin.net – – Host: localhost – Generation Time: Nov 14, 2012 at 06:10 AM – Server version: 5.5.16 – PHP Version: 5.3.8 SET SQL_MODE=”NO_AUTO_VALUE_ON_ZERO”; SET time_zone = “+00:00″; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; – – Database: mumet – – ——————————————————– – – Table structure for table diklat – CREATE TABLE IF NOT EXISTS diklat( id_pegint(4) NOT NULL AUTO_INCREMENT, no_servarchar(40) NOT NULL, namavarchar(40) NOT NULL, instansivarchar(100) NOT NULL, berkasvarchar(50) NOT NULL, PRIMARY KEY (id_peg), UNIQUE KEY no_ser(no_ser) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 ; – – Dumping data for table diklat – INSERT INTO diklat(id_peg, no_ser, nama, instansi, berkas) VALUES (10, ’098/2012/DDN/01′, ‘tes pdf’, ‘tse’, ‘berkas/DEVI NATALIA, S.Pd.pdf’), (11, ’090000000′, ‘Tes Aja’, ‘DINKLIK’, ‘berkas/YANA FEBRIANTI, ST.pdf’), (12, ’1980′, ‘huuuuuuuuuuuuuuuuuuuuuuuuuuuu’, ‘huuuuuuuuuuuuuu’, ‘berkas/UTAMI, S. Sos.pdf’), (13, ’000002323′, ‘wewqeqwe’, ‘qweweqw’, ‘berkas/A. RAFIK, S.Pd.I.pdf’), (14, ‘teas/01/’, ‘teas’, ‘teas’, ‘berkas/HAMIDI,S.Pd.pdf’); /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; index.php

Belajar Buat Aplikasi Sertifikat Diklat Form Input Data view.php Data Pegawai function cetakhalaman() { window.print();

} Data Pegawai + Tambah Data Nomor Nomor Sertifikat Nama Instansi berkas Opsi Edit || Hapus || Download ——————————– folder untuk menyimpan file .pdf bernama berkas. masalahnya : file yang diinputkan sudah masuk di folder berkas, waktu mau didownload tidak bisa. mohon bantuaannya. sudah mentok di download mas. mohon untuk di kirimkan ke [email protected] terima kasih 20. Fatur@lp3i Berkata: February 18th, 2013 at 11:21 am

weih.. top banget web-nya… Q jd ngiri.. hehe… mudah mudahan kita bsia sharing ilmu ya mas… rgds. 21. Fatur@lp3i Berkata: February 18th, 2013 at 11:35 am

mas tolong kasih tau gimana caranya export ke pdf , tapi width cel nya itu supaya mengikuti panjang text-nya.. 22. bimosaurus Berkata: February 18th, 2013 at 1:33 pm

sama sama mas… alhamdulillah bisa saling iri tentang ilmu, yang akan membuat ilmu akan makin berkembang.. semangat! hehehe 23. bimosaurus Berkata: February 18th, 2013 at 1:34 pm

ada beberapa library lagi selain FPDF yang bisa digunakan untuk itu. Untuk FPDF sepertinya saya belum menemukan solusi praktisnya. Tapi untuk hal itu menunggu dulu ya mas. 24. H Berkata: February 20th, 2013 at 1:29 am

Tanya mas, mengapa fpdf saya page 1 isa menampilkan 53 data dari mysql, tapi page selanjutnya hanya menampilkan 1 data saja, berulang trus sampai data habis ( page 2 data ke 54, page 3 data ke 55, page 4 data ke 56 dst 25. bimosaurus Berkata: February 20th, 2013 at 1:59 pm

mas, bolehkan saya melihat sebagian script untuk men-generate PDF tersebut? bagian yang perlu diperhatikan adalah tentang ukuran kertas, kemudian berarti kita juga memfungsikan halaman tersebut seperti konsep paging dalam menampilkan data

Tulis Komentar Nama e-Mail (harus diisi, tidak akan ditampilkan)

Website

Perhatian: Komentar anda masuk dalam daftar moderasi, sehingga tertunda tampil, anda tidak harus mengulangi komentar anda. Komentar

Cari Artikel dalam Blog Ini Search

Menu Home About Personal Owner Agenda Tentang Blog Ini Work

Popular Posts [Contoh] Membuat Laporan PDF dengan PHP dan Database MySQL [Contoh] Super Simple Paging Halaman PHP MySQL [Share] Bongkar Laptop Axioo Neon MNC 115 [Contoh] Cara Membuat Grafik Multi Line / Banyak Garis dengan PHP, MySQL, dan JQuery HighChart [Contoh] Input Database MySQL dari File Berformat Excel dengan Excel Reader (no-pear) [Contoh 1] Membuat Laporan Export Data dari MySQL ke Excel dengan PHP (no-pear) [Contoh] Membuat Laporan PDF dengan PHP [Contoh] Cara Sederhana Membuat Image Gambar dengan PHP

Posting Terakhir [Contoh] Mendesain Halaman Comment Posisi Terbalik dengan JQuery .insertBefore() [Contoh] Memanfaatkan Fungsi .append() pada JQuery untuk Aplikasi Web [Contoh] Cara Menampilkan Jam Server Secara Real Time [Tips] Mengatur Grant User MySQL [CSS] Fitur-fitur Memperindah Halaman dalam CSS3 Urgently required:web developer [Tips] Membuat Link Perpindahan Menjadi Smooth [Contoh] PHP, MySQL, JQuery Form Posting, Tanpa Autorefresh Halaman / Pindah Halaman [Contoh]Berkreasi Sederhana dengan DOM dan Button Javascript DOM dalam HTML PERMOHONAN MAAF Mengurangi Resiko SQL Injection dengan Script Filter Parameter HTTP

Kategori CSS hacking Hardware HTML internet javascript Jquery js Linux MySQL Networking pengumuman PHP SMS Gateway Uncategorized Web Developing webfolio wordpress

Tag Bahasan array

cara command contoh css download error excel excel writer export font fpdf gd grafik grant graph graphing highchart html image

javascript jpgraph jqplot jquery js laporan linux membuat menambah more mysql no pear paging pdf sederhana sql sql to xls

upload watermark web writeexcel xls

Linux and Images

#################### #################### #################### #################### #################### #################### #################### #################### #################### ####################

Created by : http://bimosaurus.com/imagefromtext/

Komentar Terakhir Dhimas Kirana on [Contoh] Cara Menampilkan Jam Server Secara Real Time bimosaurus on [Contoh] Cara Menumpuk Join Dua Gambar dengan PHP ( watermark ) bimosaurus on [Contoh] Cara Menampilkan Jam Server Secara Real Time Nina Dudul on [Contoh] Cara Menumpuk Join Dua Gambar dengan PHP ( watermark ) Nina Dudul on [Contoh] Cara Menampilkan Jam Server Secara Real Time bimosaurus on [Contoh] Cara Menampilkan Jam Server Secara Real Time bimosaurus on [Contoh] Cara Menumpuk Join Dua Gambar dengan PHP ( watermark )

php reporting

reset

ninasuhari on [Contoh] Cara Menumpuk Join Dua Gambar dengan PHP ( watermark )

Link terkait Bimosaurus on Slideshare

Arsip Bimosaurus Select Month

Subscribe to Blog via Email Masukkan alamat email anda untuk berlangganan. Setiap post artikel anda akan mendapat notifikasi Join 6 other subscribers Email Address Subscribe

Search Search

© 2011. Technical Design by BimoSaurus Thanks For Preetinder For Black n Golden

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF