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

[Contoh] Membuat Laporan PDF dengan PHP dan Database MySQL


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 :

Begitu pula, sintaks ini akan dijadikan Query yang akan dieksekusi oleh PHP. Perkiraan Commandnya adalah sebagai berikut:

 

Dengan melakukan kombinasi perintah dengan pembuatan reporting PDF, maka dapat dibuat script seperti berikut:


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

Semoga berguna



Terdapat dalam: MySQL, PHP | 26 Komentar »

26 Responses

  1. [Contoh] Membuat Laporan PDF dengan PHP « bimosaurus.wordpress.com Berkata:

    [...] http://bimosaurus.com/2012/04/09/contoh-membuat-laporan-pdf-dengan-php-dan-database-mysql/ [...]

  2. erick Berkata:

    sintak eror pada :$while( $result=mysql_fetch_array( $query ) ){

    //tampilkan

    }

    tolong di periksa

  3. bimosaurus Berkata:

    Terimakasih mas, niat saya membuat contoh, ternyata saya salah tanda di sini $while. Harusnya adalah while saja

    Terimakasih sekali mas koreksinya, saya edit postingnya

  4. [Contoh] Membuat Laporan PDF dengan PHP FPDF | Catatan Bimosaurus Berkata:

    [...] Untuk laporan lanjut dapat dilihat di sini http://bimosaurus.com/2012/04/09/contoh-membuat-laporan-pdf-dengan-php-dan-database-mysql [...]

  5. tady Berkata:

    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:

    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:

    gmn mengambil dari 2 tabel berbeda atau lebih dari @ tabel??

  8. bimosaurus Berkata:

    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 :

    atau dengan cara

    Semoga bisa dipahami.. selamat mencoba semoga bermanfaat

  9. zoel Berkata:

    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:

    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:

    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:

    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:

    Tuan Bimo, tolong di jawab dong..
    Saya stuck di sini..

  14. pendekar Berkata:

    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:

    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:

    saya mengalami masalah seperti mas husni, apa solusinya?

  17. dzikra Berkata:

    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:

    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:

    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_peg int(4) NOT NULL AUTO_INCREMENT,
    no_ser varchar(40) NOT NULL,
    nama varchar(40) NOT NULL,
    instansi varchar(100) NOT NULL,
    berkas varchar(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

    <?php
    if (!empty($_GET['message']) && $_GET['message'] == 'success') {
    echo 'Berhasil menambah data!’;
    }
    ?>

    Nomor Sertifikat
    :

    Nama
    :

    Instansi
    :

    Berkas
    :

    Lihat Data

    config.php

    simpan.php
    0)
    { die(“Nomor Sertifikat telah Terdaftar!”); }
    else
    {
    if (!empty($_FILES["berkas"]["tmp_name"]))
    //if (isset($_POST['submit'])&& isset($_FILES['berkas']))
    {
    $namafolder=”berkas/”; //tempat menyimpan file
    $jenis_berkas=$_FILES['berkas']['type'];
    if($jenis_berkas==”application/pdf” || $jenis_berkas==”application/rar” || $jenis_berkas==”application/zip”)
    {
    $berkas = $namafolder . basename($_FILES['berkas']['name']);
    if (!move_uploaded_file($_FILES['berkas']['tmp_name'], $berkas))
    {
    die(“berkas gagal dikirim”);
    }
    }
    else { die(“Jenis berkas yang anda kirim salah. Harus .pdf.rar .zip”); }
    } //end if cek file upload

    mysql_query(“insert into diklat(no_ser,nama,instansi,berkas)” .
    “values(‘$no_ser’,'$nama’,'$instansi’,'$berkas’)”) or die(mysql_error());

    echo “Berhasil”;
    header(“location:view.php”);
    } //end if terdaftar
    }
    ?>

    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 fadixz123@gmail.com
    terima kasih

  20. Fatur@lp3i Berkata:

    weih.. top banget web-nya…
    Q jd ngiri..
    hehe…
    mudah mudahan kita bsia sharing ilmu ya mas…
    rgds.

  21. Fatur@lp3i Berkata:

    mas tolong kasih tau gimana caranya export ke pdf , tapi width cel nya itu supaya mengikuti panjang text-nya..

  22. bimosaurus Berkata:

    sama sama mas… alhamdulillah bisa saling iri tentang ilmu, yang akan membuat ilmu akan makin berkembang.. semangat! hehehe

  23. bimosaurus Berkata:

    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:

    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:

    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

  26. Alif pendang baru Berkata:

    tolong diberitau,cara menggabungkan dan menambahkan cell pada tabel

Tulis Komentar

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


Event

Cari Artikel dalam Blog Ini

Menu

Popular Posts

Posting Terakhir

Kategori

Tag Bahasan

Linux and Images



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

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

Komentar Terakhir

Link terkait

Arsip Bimosaurus

Masukkan alamat email anda untuk berlangganan. Setiap post artikel anda akan mendapat notifikasi

Join 6 other subscribers

Search


Anda membutuhkan tutorial WEB, SMS Gateway, Linux, Jaringan, PHP, MySQL dan Lainnya? Kirimkan melalui bimosaurus@gmail.com dan akan segera ditanggapi oleh team, GRATIS tapi ANTRI ! !