Cara Membuat Laporan pdf di php. Kemarin sempat bingung cara buat laporan dengan php itu gimana. Terus cari-cari dan nemu fungsi dan class yang dikembangkan oleh Wayne Munro tentang bagaimana buat laporan pdf menggunakan bahasa pemrograman php. Bisasanya sebuah laporan seperti ini digunakan pada rekap dan rekapitulasi pada sebuah sistem, Baik sistem manejemen maupun laporan sistem informasi. Laporan tersebut berfungsi untuk meakukan evaluasi pada sistem berdasarkan laporan yang dihasilkan per periode tertentu.
Tutorial cara menampilkan data dari database kedalam format pdf cukup mudah. Yang perlu Anda lakukan adalah memanggil fungsi dan class yang sudah terdapat pada folder yang akan saya Share nanti. Contoh laporan format pdf dengan php ini Saya ambil dari contoh projek sistem informasi iklan yang pernah Saya buat. Source code nya sudah Saya sertakan pada file yang akan share disini tinggal download saja. Script PHP laporan pdf hanya perlu di edit sedikit saja dan tinggal disesuaikan dengan isi dari database phpmysql Anda dan pilih tabel yang akan di tampilkan sebagai laporan.
Artikel ini mungkin terkait dengan cara membuat laporan pdf php mysql, menggunakan fpdf, dengan dreamweaver, dengan yii, dengan codeigniter, atau juga menggunakan fungsi kombinasi javascript html2pdf, namun yang Saya buat adalah menampilkan laporan bermormat pdf dengan berdasarkan kondisi tertentu. Dalam Hal kondisi yang saya gunakan adalah tanggal Dan sehingga dengan cara ini, laporan yang terbuat akan secara otomatis terbantuk berdasarkan kondisi yang kita tentukan.
Baiklah, lanjut lagi.. Untuk diketahui contoh yang digunakan pada tutorial ini adalah menampilkan laporan pemasangan iklan pada sistem informasi iklan, seperti yang sudah Saya sebutkan diatas.
Cara Membuat Laporan PDF PHP
OK. Sebelumnya pada folder laporan ini akan berisi file yaitu:
- lap_pemasangan.php, file ini merupakan file yang berguna untuk memberikan kondisi yang akan Anda gunakan untuk menampilkan laporan pdf.
- rekap_pemasangan.php, file ini adalah proses eksekusi dari kondisi yang diberikan pada file no 1 diatas.
- folder pdf, berisi fungsi pdf yaitu : class.pdf.php, class.ezpdf.php dan folder font atau tulisan. pada folder ini tidak perlu di oprek atau biarkan saja, tapi kalau mau di pelajari juga silahkan.
Tutorial laporan pdf dengan php
Setelah file diatas sudah Anda download silahkan masukkan ke folder server komputer Anda. Pada komputer saya server yang saya gunakan Adalah xamp berarti letaknya di folder htdoc, untuk server wamp, dan yang lain silahkan sesuaikan.
Berikut langkah-langkah membuat laporan pdf dengan simpel dan cepat:
- Buat database pada server Anda dengan nama sipi ( boleh diganti dengan nama sendiri dan sesuaikan dengan koneksi database).
- Import tabel yang sudah saya sertakan kedalam database mysql yang sudah terbuat, pada file ini tabel yang Saya gunakan namanya adalah pasang.
- Setelah selesai silahkan Anda akses folder root pada file laporan yang sudah Anda buat tadi. Selesai.
Tampilan database dan tabel yang dibuat:
Script dan source code laporan pdf php
1. lap_pemasangan.php
<?php echo ' <h3>Rekap Data Pemasangan Iklan</h3> <fieldset> <form name="login" action="rekap_pemasangan.php" method="POST"> <div class="control-group"> <b>Dari :</b><br/> <input type="date" name="dari" class="required"> </label> <label><br/><b>Sampai :</b><br/> <input type="date" name="sampai" class="required"> </label> <label><p> <button type="submit" >Proses</button> <button type="button" onclick="self.history.back()">Batal</button></p> </label> </div> </form> </fieldset> '; ?>
Akan menampilkan seperti ini
2. rekap_pemasangan.php
<?php include "pdf/class.ezpdf.php"; //class ezpdf yg di panggil $pdf = new Cezpdf(); //Set margin dan font $pdf->ezSetCmMargins(3, 3, 3, 3); $pdf->selectFont('pdf/fonts/Courier.afm'); //Tampilkan gambar di dokumen PDF $pdf->addJpegFromFile('sipi.jpg',31,778,90); //Teks di tengah atas untuk judul header $pdf->addText(140, 800, 16,'<b>REKAPITULASI PEMASANGAN IKLAN</b>'); $pdf->addText(125, 780, 14,'<b>PT.SISTEMPHP.COM (Jl.Soebrantas km.16)</b>'); //Garis atas untuk header $pdf->line(31, 770, 565, 770); //Garis bawah untuk footer $pdf->line(31, 50, 565, 50); //Teks kiri bawah $pdf->addText(410,34,8,'Dicetak tgl:' . date( 'd-m-Y, H:i:s')); // Baca input tanggal yang dikirimkan user $dari = date_format(date_create($_POST[dari]), 'Y-m-d'); $sampai = date_format(date_create($_POST[sampai]), 'Y-m-d'); //echo "$mulai $selesai";exit; //Menampilkan isi dari database //Koneksi ke database dan tampilkan datanya mysql_connect("localhost", "root", ""); mysql_select_db("sipi"); $tampil = "SELECT a.id_pasang, a.judul_iklan, a.isi_iklan, a.awal, a.akhir, b.kategori, c.tipe, c.harga, d.nama FROM pasang a, kategori b, iklan c, user d WHERE awal between '$dari' and '$sampai' AND a.id_kategori = b.id_kategori and a.id_iklan = c.id_iklan and a.id_user = d.id_user ORDER BY a.id_pasang DESC "; //echo $tampil;exit; $sql = mysql_query($tampil); //Menghitung jumlah data pada database $jml = mysql_num_rows($sql); //echo $jml;exit; if ($jml > 0){ $i = 1; while($r = mysql_fetch_array($sql)) { //Format Menampilkan data di ezPdf $data[$i]=array('No'=>$i, 'Judul'=>"$r[judul_iklan]", 'Kategori'=>"$r[kategori]", 'Tipe'=>"$r[tipe]", 'Pemasang'=>"$r[nama]", 'Tgl. Pasang'=>"$r[awal]", 'Tgl. Berakhir'=>"$r[akhir]", 'Harga'=>'Rp. '.number_format(($r[harga]),0,',','.') ); $i++; } //Tampilkan Dalam Bentuk Table $pdf->ezTable($data); $pdf->ezText("\nPeriode: $dari s/d $sampai"); // Penomoran halaman $pdf->ezStartPageNumbers(564, 20, 8); $pdf->ezStream(); } else{ echo " <script> alert('Tidak Ada Pemasangan Iklan'); window.location=\"../../?modul=laporan&aksi=cetak\"; </script> "; } ?>
Dari eksekusi yang dilakukan maka hasil dari laporan yang ditampilkan adalah sebagai berikut:
Cara membuat laporan pdf php ini saya beri kondisi jika data pada tabel database tidak tersedia sesuai dengan tanggal dan waktu yang dipilih, maka sistem akan memberikan informasi bahwa laporan yang dimaksud tidak tersedia.
Pada scrip diatas saya menggabungkan beberapa tabel dan menampilankan menjadi laporan. Seperti yang terdapat pada scrip rekap_pemasangan.php line 36, dan script untuk menampilkan isi tabel databasenya terdapat pada line 51.
Postingan berikutnya
- membuat laporan pdf php berdasarkan kondisi
- source code cetak laporan dengan php
- script php cetak laporan pdf
- membuat laporan dengan fpdf php
- contoh laporan pdf
- membuat laporan berdasarkan tanggal dengan php
- cara membuat laporan pdf dengan php
Ga bisa boz format tanggalnya eror..
Tanggalnya sudah di cek mas pemilihannya.. Pada form yang ada sesuaikan pemilihan tanggal dengan tanggal yang ada di database.
Sesuaikan dengan yang ada mas.
masih g bsa,,jawabanya data tidak pemansangan,,,mnt emailny dunk,,,,
ntr q krmn screenshootny,,
frmt ipnpt tglny 03/25/2015,,,bnr g
Saya lihat Oke Juga , hanya saja sy coba memakai
$pdf->addJpegFromFile(‘sipi.jpg’,31,778,90); kok ngak jalan yah.
Salah dimana
Koding saya adalah :
$pdf = new FPDF(‘L’,’cm’,’Legal’);
$pdf->AddPage();
$pdf->SetFont(‘Helvetica’,”,14);
$pdf->addJpegFromFile(‘sipi.jpg’,31,778,90);
$pdf->Write(0.5, nama_perusahaan);$pdf->Ln();
$pdf->SetFontSize(10);
$pdf->Write(0.5, ‘SALES QUOTATION’);$pdf->Ln();
$pdf->Write(0.5, alamat_perusahaan);$pdf->Ln();
$pdf->Ln();
$pdf->SetFont(‘Helvetica’,’B’,12);
$pdf->cell(1,2, ‘No.’,1,0,’C’);
$pdf->cell(12.5,2, ‘Item Description’,1,0,C);
$pdf->cell(3,2, ‘Qty’,1,0,C);
$pdf->cell(3,2, ‘Unit Price’,1,0,C);
$pdf->cell(3,2, ‘Disc %’,1,0,C);
$pdf->cell(3,2, ‘Tax’,1,0,C);
$pdf->cell(3,2, ‘Amount’,1,0,C);
$pdf->Ln();
Beda mas, fungsi yang di pakai Bukan FPDF tapi berbeda lagi. Makanya kalau pakai FPDF jadi tidak sesuai fungsinya. Untuk lebih lengkapnya Script sudah saya sertakan di file download.
masalahnya “tidak ada pemasangan iklan”
Untuk pemasangan iklan bisa di modifikasi mas, Untuk laporan penyesuaian dengan pemanggilan field database saja.
mas kok gak bisa…..
tidak ada pemasangan iklan!
Kemungkinan di database belum ada iklannya mas, silahkan diisi dulu.
Mas link untuk mendownload foldernya kok nda ada ya mas???
COba silahkan di refresh mbak.
Tidak ada pemasangan iklan mas…
Kira2 apanya yang salah ya mas padahal udah diinput databasenya
Errornya kaya gini :
Deprecated: Function set_magic_quotes_runtime() is deprecated in C:\xampp\php\PEAR\class.pdf.php on line 2856
Deprecated: Function set_magic_quotes_runtime() is deprecated in C:\xampp\php\PEAR\class.pdf.php on line 285
Notice: Use of undefined constant dari – assumed ‘dari’ in C:\xampp\htdocs\laporanpdf\rekap_pemasangan.php on line 28
Notice: Use of undefined constant sampai – assumed ‘sampai’ in C:\xampp\htdocs\laporanpdf\rekap_pemasangan.php on line 29
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\laporanpdf\rekap_pemasangan.php on line 44
Ya mas, kemungkinan di fieldnya belum ada yang terisi pemasangan iklan.
thanks work gan
Sama sama mas,
mas maaf , kenpa ya yang saya hasil nya banyak yg eror . boleh minta bantuan nya . Terimakasih
COba di isi mbak. yang untuk iklannya dari phpmyadmin.. JIka tetap error keungkinan versi server yang mbak gunakan tipenya beda.
itu cuma table pasang doang?
table kategori, iklan, user nya mana bang??
Untuk contoh menampilkan laporan pemasangan iklan saja mas.
mas ini pake java scrip gak ya?
Pakai mas
thank you min
sama sama mas.
paling enak.. coba pakek pdf HTML2PDF tinggal convert file HTML ke PDF…
untuk yang format tanggal biasanya secara default date time (yyyy-MM-dd) coba diconvert pakek fungsi
function balikTanggal($tgl_awal){
if($tgl_awal == “”){
return $tgl_awal;
}
else{
$tgl2 = explode(“-“,$tgl_awal);
if(count($tgl2) >= 3)
{
return $tgl2[2].”-“.$tgl2[1].”-“.$tgl2[0];
}
else{
return $tgl_awal;
}
}
}
function balikTanggal1($tgl_akhir){
if($tgl_akhir == “”){
return $tgl_akhir;
}
else{
$tgl2 = explode(“-“,$tgl_akhir);
if(count($tgl2) >= 3)
{
return $tgl2[2].”-“.$tgl2[1].”-“.$tgl2[0];
}
else{
return $tgl_akhir;
}
}
}
$tgl_awal=balikTanggal($_POST[‘tgl_awal’]);
$tgl_akhir=balikTanggal($_POST[‘tgl_akhir’]);
semoga bisa membantu ^_^
wah Bagus juga mas logikanya. Semoga membantu buat teman-teman yang lain.
mass bikin toyal nya gman yaa mass.?
Untuk membuat totalnya bisa menggunakan sum(nama_tabel) as total melalui query database mbak. atau Jika ingin melalui script phpnya dapat menggunakan fungsi array_sum($nilai) dan sebagainya.
makasih mass
kalo seumpama di masukin code igniter kog ga bisa ya, mohon bantuanya admin
Kalau di codeigniter, di panggil via fungsi atau control saja mas
Mas kok nda bisa ya.
Banyak errornya
ini pake xampp versi brp sih?? kalau saya versi 1.7.7
Versi 5.+ mas
gan cara bikin rekap absen yg pake inner join gimana ya ?
Untuk tabel yang terhubung dengan inner join apa saja mas..@ezar
pada laporan pdf tersebut, apakah laporan pdf nya bisa pakai edit mas
Untul laporannya tidak pakai edit mas @reski iswanto daulaay. soalnya langsung di generate melalui tabel database dengan ketentuan laporan yang di inginkan. misalnya pertanggal, per data atau lainya. Dan untuk edit yang di maksud seperti apa ya mas, mana tau bisa saya bantu?