Tutorial Membuat Laporan PDF dari MySQL

Membuat Laporan PDF dari MySQL

Pada contoh selanjutnya, kita akan membuat laporan PDF dalam bentuk tabel, dimana data diambil dari database, dalam hal ini MySQL. Untuk itu, sebelum mencoba program berikut ini, pastikan bahwa database dan tabel sudah dibuat. Sebagai contoh, akan digunakan tabel dengan nama ‘mhs’ dan field nim, nama, alamat dan tgllahir. Di tutorial ini, tidak akan dibahas mengenai bagaimana membuat tabel tersebut, namun Anda dapat memanfaatkan tools MySQL Front atau PHPMyAdmin untuk mempermudah. Pelajari kembali beberapa tutorial tentang administrasi database MySQL di Achmatim.Net.

Copykan kode dibawah ini ke Notepad dan simpan dengan ekstensi .php  

    <?php
    //koneksi ke database
    $host = "localhost";
    $user = "root";
    $pass = "";
    $dbnm = "dbmahasiswa";
   
    $conn = mysql_connect($host, $user, $pass);
    if ($conn) {
        $open = mysql_select_db($dbnm);
        if (!$open) {
            die ("Database tidak dapat dibuka karena ".mysql_error());
        }
    } else {
        die ("Server MySQL tidak terhubung karena ".mysql_error());
    }
    //akhir koneksi
   
    #ambil data di tabel dan masukkan ke array
    $query = "SELECT * FROM mhs ORDER BY nama";
    $sql = mysql_query ($query);
    $data = array();
    while ($row = mysql_fetch_assoc($sql)) {
        array_push($data, $row);
    }
   
    #setting judul laporan dan header tabel
    $judul = "LAPORAN DATA MAHASISWA";
    $header = array(
            array("label"=>"NIM", "length"=>30, "align"=>"L"),
            array("label"=>"NAMA", "length"=>50, "align"=>"L"),
            array("label"=>"ALAMAT", "length"=>80, "align"=>"L"),
            array("label"=>"TGL LAHIR", "length"=>30, "align"=>"L")
        );
   
    #sertakan library FPDF dan bentuk objek
    require_once ("fpdf/fpdf.php");
    $pdf = new FPDF();
    $pdf->AddPage();
   
    #tampilkan judul laporan
    $pdf->SetFont('Arial','B','16');
    $pdf->Cell(0,20, $judul, '0', 1, 'C');
   
    #buat header tabel
    $pdf->SetFont('Arial','','10');
    $pdf->SetFillColor(255,0,0);
    $pdf->SetTextColor(255);
    $pdf->SetDrawColor(128,0,0);
    foreach ($header as $kolom) {
        $pdf->Cell($kolom['length'], 5, $kolom['label'], 1, '0', $kolom['align'], true);
    }
    $pdf->Ln();
   
    #tampilkan data tabelnya
    $pdf->SetFillColor(224,235,255);
    $pdf->SetTextColor(0);
    $pdf->SetFont('');
    $fill=false;
    foreach ($data as $baris) {
        $i = 0;
        foreach ($baris as $cell) {
            $pdf->Cell($header[$i]['length'], 5, $cell, 1, '0', $kolom['align'], $fill);
            $i++;
        }
        $fill = !$fill;
        $pdf->Ln();
    }
   
    #output file PDF
    $pdf->Output();
    ?>


Berikut ini penjelasan dari program diatas:
  • Baris 2-17. Koneksi dengan server MySQL dan membuka database yang digunakan dalam program. Lakukan perubahan $host, $user, $pass dan $dbnm sesuai dengan kondisi komputer yang Anda gunakan.
  • Baris 19-25. Mengambil data dari database yang akan ditampilkan di laporan dan masukkan ke sebuah array $data. Pada baris 20 perintah query untuk mengambil data didefinisikan dan pada baris berikutnya perintah query tersebut dijalankan dengan menggunakan fungsi mysql_query(). Selanjutnya untuk setiap baris yang dihasilkan dari perintah query tersebut, masukkan ke array $row dengan fungsi mysql_fetch_assoc() dan tambahkan ke array $data dengan fungsi array_push().
  • Baris 27-34. Menyusun array yang akan membentuk header tabel dari laporan. Jumlah elemen dari array header yang dibentuk haruslah sama dengan jumlah kolom dari array $data. Di dalam array $header juga diatur ukuran / lebar kolom dan perataan dari kolom.
  • Baris 36-39. Panggil library FPDF, bentuk object dari class FPDF dan buat halaman baru (fungsi AddPage()).
  • Baris 41-43. Menampilkan judul laporan yang sudah diatur sebelumnya.
  • Baris 45-53. Menampilkan judul / header tabel laporan sesuai dengan header yang telah ditentukan sebelumnya. Dalam program diatas diatur agar text dari header tabel berwarna putih (baris 48), background berwarna merah (baris 47), border cell berwarna RGB(128,0,0) (baris 49) dan font text adalah Arial ukuran 10 (baris 47).
  • Baris 55-68. Menampilkan data dari tabel berdasarkan isi variabel array $data yang diambil dari database. Di bagian ini, sebelum data ditampilkan juga diatur warna text dan background.
  • Baris 71. Hasil dari halaman PDF akan ditampilkan di browser.

Hasilnya adalah



Kesimpulan

PHP memiliki kemampuan yang sangat baik dalam membuat file PDF on-the-fly. FPDF merupakan salah satu library PHP yang dapat digunakan untuk membuat laporan maupun dokumen PDF lainnya secara mudah, tanpa perlu menginstall atau mengaktifkan modul tertentu. Laporan PDF yang dihasilkan juga memiliki tampilan yang baik dan berkualitas.
Semoga tutorial ini bermanfaat, dan selalu kunjungi http://achmatim.net untuk mendapatkan berbagai tutorial praktis di bidang pemrograman dan web development. Kunjungi juga situs kumpulan ebook gratis di http://ebook.achmatim.net untuk mendapatkan berbagai ebook komputer.

Referensi dan Sumber Terkait

  1. Dokumentasi PHP, http://php.net/docs.php
  2. Situs resmi FPDF, http://fpdf.org
  3. Situs Kumpulan Ebook PHP Gratis, http://ebook.achmatim.net

Download Tutorial

  1. Download dari Ziddu

Komentar

Postingan populer dari blog ini

Power Designer 6 Portable

SAFE ALL IN ONE KEYLOGGER PORTABLE FOR HACKER

Sumatra PDF