Cara Membuat Laporan PDF PHP

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:

  1. lap_pemasangan.php, file ini merupakan file yang berguna untuk memberikan kondisi yang akan Anda gunakan untuk menampilkan laporan pdf.
  2. rekap_pemasangan.php, file ini adalah proses eksekusi dari kondisi yang diberikan pada file no 1 diatas.
  3. 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:

  1. Buat database pada server Anda dengan nama sipi ( boleh diganti dengan nama sendiri dan sesuaikan dengan koneksi database).
  2. Import tabel yang sudah saya sertakan kedalam database mysql yang sudah terbuat, pada file ini tabel yang Saya gunakan namanya adalah pasang.
  3. Setelah selesai silahkan Anda akses folder root pada file laporan yang sudah Anda buat tadi. Selesai.

Tampilan database dan tabel yang dibuat:

Tampilan tabel dan database yang dibuat

Tampilan tabel dan database 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

Tampilan kondisi laporan pdf php

Tampilan kondisi laporan pdf php

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:

Hasil laporan pdf

Hasil laporan pdf

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.

Download script

Postingan berikutnya

  1. source code cetak laporan dengan php
  2. membuat laporan pdf php berdasarkan kondisi
  3. script php cetak laporan pdf
  4. membuat laporan dengan fpdf php
  5. contoh laporan pdf
  6. membuat laporan berdasarkan tanggal dengan php
  7. cara membuat laporan pdf dengan php
  8. SISTEM REKAP DATA
  9. membuat cetak php to pdf
  10. kodingan php cara membuat pdf
  11. Join tabel pertanggal php
  12. contoh Sourcode PHP
  13. contoh laporan php pdf per periode pdf
  14. tuliskan contoh source code sederhana untuk membuat file pdf dengan menggunakan library fpdf

37 comments on “Cara Membuat Laporan PDF PHP

  1. idham kholid March 28, 2015 11:45 am

    Ga bisa boz format tanggalnya eror..

    • admin March 31, 2015 4:24 pm

      Tanggalnya sudah di cek mas pemilihannya.. Pada form yang ada sesuaikan pemilihan tanggal dengan tanggal yang ada di database.

    • admin April 17, 2015 4:28 pm

      Sesuaikan dengan yang ada mas.

      • idham May 10, 2015 3:08 pm

        masih g bsa,,jawabanya data tidak pemansangan,,,mnt emailny dunk,,,,
        ntr q krmn screenshootny,,
        frmt ipnpt tglny 03/25/2015,,,bnr g

  2. salihin untar April 17, 2015 2:23 pm

    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();

    • admin April 17, 2015 4:29 pm

      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.

      • vito July 23, 2015 10:43 pm

        masalahnya “tidak ada pemasangan iklan”

        • admin July 23, 2015 10:49 pm

          Untuk pemasangan iklan bisa di modifikasi mas, Untuk laporan penyesuaian dengan pemanggilan field database saja.

  3. hanung August 3, 2015 12:41 am

    mas kok gak bisa…..
    tidak ada pemasangan iklan!

    • admin August 3, 2015 1:47 pm

      Kemungkinan di database belum ada iklannya mas, silahkan diisi dulu.

  4. mance August 4, 2015 9:16 am

    Mas link untuk mendownload foldernya kok nda ada ya mas???

    • admin August 4, 2015 3:02 pm

      COba silahkan di refresh mbak.

  5. mance August 4, 2015 10:19 am

    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

    • admin August 4, 2015 3:02 pm

      Ya mas, kemungkinan di fieldnya belum ada yang terisi pemasangan iklan.

  6. ronny August 11, 2015 3:49 pm

    thanks work gan

    • admin August 14, 2015 3:01 am

      Sama sama mas,

  7. yunia August 16, 2015 11:47 pm

    mas maaf , kenpa ya yang saya hasil nya banyak yg eror . boleh minta bantuan nya . Terimakasih

    • admin August 22, 2015 10:14 am

      COba di isi mbak. yang untuk iklannya dari phpmyadmin.. JIka tetap error keungkinan versi server yang mbak gunakan tipenya beda.

  8. dwi prasetyo September 3, 2015 10:59 am

    itu cuma table pasang doang?

    table kategori, iklan, user nya mana bang??

    • admin September 5, 2015 12:42 pm

      Untuk contoh menampilkan laporan pemasangan iklan saja mas.

  9. mardiyatan February 25, 2016 12:47 pm

    mas ini pake java scrip gak ya?

  10. wirhan March 2, 2016 12:43 am

    thank you min

    • admin March 2, 2016 12:51 am

      sama sama mas.

  11. anonim May 10, 2016 6:53 am

    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 ^_^

    • admin May 10, 2016 8:13 am

      wah Bagus juga mas logikanya. Semoga membantu buat teman-teman yang lain.

  12. riskia May 21, 2016 10:17 pm

    mass bikin toyal nya gman yaa mass.?

    • admin May 23, 2016 11:44 am

      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.

      • riskia June 3, 2016 9:06 pm

        makasih mass

  13. ady July 23, 2016 4:25 pm

    kalo seumpama di masukin code igniter kog ga bisa ya, mohon bantuanya admin

    • admin July 25, 2016 9:57 am

      Kalau di codeigniter, di panggil via fungsi atau control saja mas

  14. prikitiew August 20, 2016 8:51 am

    Mas kok nda bisa ya.
    Banyak errornya
    ini pake xampp versi brp sih?? kalau saya versi 1.7.7

    • admin August 21, 2016 8:14 am

      Versi 5.+ mas

  15. Ezar October 17, 2016 11:14 am

    gan cara bikin rekap absen yg pake inner join gimana ya ?

    • admin October 19, 2016 10:34 am

      Untuk tabel yang terhubung dengan inner join apa saja mas..@ezar

  16. reski iswanto daulay January 24, 2017 12:27 am

    pada laporan pdf tersebut, apakah laporan pdf nya bisa pakai edit mas

    • admin January 26, 2017 7:42 pm

      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?

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>