Cara Membuat Laporan PDF PHP

Kali ini saya akan membahas tentang cara membuat laporan PDF menggunakan PHP menggunakan fungsi dan class yang dikembangkan oleh Wayne Munro. Sebelum ke pembahasan lebih lanjut, download dulu file nya disini .

Berikut langkah-langkah membuat laporan pdf dengan mudah dan cepat:
  1. Buat database pada server Anda dengan nama sipi .
  2. Import tabel yang sudah saya sertakan kedalam database mysql, namanya adalah pasang.
  3. Simpan folder yang tadi di download di folder root Anda
  4. Silakan 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 menggunakan PHP :
1. File index.php

<?php
echo '
<h3>Rekap Data Pemasangan Iklan</h3>
<fieldset>
<form name="login" action="rekap_pemasangan.php" method="POST">
<div class="control-group">
<label><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>
';
?>

Script di atas akan menampilkan tampilan seperti di bawah ini :



2. File 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(175, 800, 16,'<b>REKAPITULASI PEMASANGAN IKLAN</b>');
$pdf->addText(135, 780, 14,'<b>PT CODING Jl. Tebet Raya 11C-D Jakarta 12810</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 * FROM pasang WHERE awal between '$dari' and '$sampai'  ORDER BY 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]",
  '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');
location.href = \"index.php\";
</script>
";
// window.location=\"\";

}

?>


Nanti hasilnya akan seperti di bawah ini :






membuat laporan dengan php. membuat laporan pdf dengan php. source code cetak laporan dengan php. cara membuat laporan pdf di php. cara membuat laporan pada dreamweaver. cara membuat laporan menggunakan php. membuat laporan php. cara membuat laporan di php. cara membuat rekapan laporan per tahun di php. cara membuat report di php.

10 Responses to "Cara Membuat Laporan PDF PHP"

  1. jangan bosan untuk berkunjung gan..

    BalasHapus
    Balasan
    1. cara bikin total nya gimana yaa gan.?

      Hapus
    2. coba deh gan ganti sebagian kodenya seperti berikut :


      if ($jml > 0){

      $i = 1;
      $total = 0;
      while($r = mysql_fetch_array($sql)) {

      //Format Menampilkan data di ezPdf
      $data[$i]=array('No'=>$i,
      'Judul'=>"$r[judul_iklan]",
      'Kategori'=>"$r[kategori]",
      'Tgl. Pasang'=>"$r[awal]",
      'Tgl. Berakhir'=>"$r[akhir]",
      'Harga'=>'Rp. '.number_format(($r[harga]),0,',','.')
      );
      $i++;
      $total=$total+$r[harga];

      }
      $data[$i]=array('No'=>$i,
      'Judul'=>"",
      'Kategori'=>"",
      'Tgl. Pasang'=>"",
      'Tgl. Berakhir'=>"",
      'Harga'=>'Rp. '.number_format(($total),0,',','.')
      );

      //Tampilkan Dalam Bentuk Table
      $pdf->ezTable($data);

      $pdf->ezText("\nPeriode: $dari s/d $sampai");

      // Penomoran halaman
      $pdf->ezStartPageNumbers(564, 20, 8);
      $pdf->ezStream();
      }

      Hapus
    3. coba deh gan ganti sebagian kodenya seperti berikut :


      if ($jml > 0){

      $i = 1;
      $total = 0;
      while($r = mysql_fetch_array($sql)) {

      //Format Menampilkan data di ezPdf
      $data[$i]=array('No'=>$i,
      'Judul'=>"$r[judul_iklan]",
      'Kategori'=>"$r[kategori]",
      'Tgl. Pasang'=>"$r[awal]",
      'Tgl. Berakhir'=>"$r[akhir]",
      'Harga'=>'Rp. '.number_format(($r[harga]),0,',','.')
      );
      $i++;
      $total=$total+$r[harga];

      }
      $data[$i]=array('No'=>"",
      'Judul'=>"",
      'Kategori'=>"",
      'Tgl. Pasang'=>"",
      'Tgl. Berakhir'=>"",
      'Harga'=>'Rp. '.number_format(($total),0,',','.')
      );

      //Tampilkan Dalam Bentuk Table
      $pdf->ezTable($data);

      $pdf->ezText("\nPeriode: $dari s/d $sampai");

      // Penomoran halaman
      $pdf->ezStartPageNumbers(564, 20, 8);
      $pdf->ezStream();
      }

      Hapus
  2. coba deh gan ganti sebagian kodenya seperti berikut :


    if ($jml > 0){

    $i = 1;
    $total = 0;
    while($r = mysql_fetch_array($sql)) {

    //Format Menampilkan data di ezPdf
    $data[$i]=array('No'=>$i,
    'Judul'=>"$r[judul_iklan]",
    'Kategori'=>"$r[kategori]",
    'Tgl. Pasang'=>"$r[awal]",
    'Tgl. Berakhir'=>"$r[akhir]",
    'Harga'=>'Rp. '.number_format(($r[harga]),0,',','.')
    );
    $i++;
    $total=$total+$r[harga];

    }
    $data[$i]=array('No'=>$i,
    'Judul'=>"",
    'Kategori'=>"",
    'Tgl. Pasang'=>"",
    'Tgl. Berakhir'=>"Total",
    'Harga'=>'Rp. '.number_format(($total),0,',','.')
    );

    //Tampilkan Dalam Bentuk Table
    $pdf->ezTable($data);

    $pdf->ezText("\nPeriode: $dari s/d $sampai");

    // Penomoran halaman
    $pdf->ezStartPageNumbers(564, 20, 8);
    $pdf->ezStream();
    }

    BalasHapus
    Balasan
    1. gan kalau pdfnya gak nampil kenapa ya,, mohon bantuanya.. makasih

      Hapus
  3. cek dulu gan sebelum posting ada kesalahan

    BalasHapus
  4. Mau tanya saat nampilin gambar di situ kn ada angka", nah maksud dr angkanya itu apa ya? Mohon jawabnnta

    BalasHapus