Sunday, July 17, 2016

Pada kesempatan kali ini saya akan memberikan tutorial membuat laporan pdf dengan PHP, MySQL dan FPDF. Tutorial ini juga saya lengkapi dengan contoh souce code yang bisa anda download secara gratis. Bagaimana cara membuat report dengan PDF di PHP.? simak tutorial berikut ini


  • Hal yang paling pertama kita lakukan adalah mendownload library FPDF di website resminya, silahkan langsung menuju http://www.fpdf.org/.
  • Setelah mendownload file tersebut, ekstrak kemudian buat folder laporan-pdf simpan file yang sudah di ekstrak tadi tersebut pada folder laporan-pdf, kemudian pindahkan ke folder htdocs.
  • Langkah selanjutnya adalah membuat sebuah database yang nantinya data pada tabel databese tersebut kita gunakan untuk menampilkan di report PDF. Silahkan buat database dengan nama contoh kemudian dumping script SQL berikut :
    -- phpMyAdmin SQL Dump
    -- version 4.2.11
    -- http://www.phpmyadmin.net
    --
    -- Host: 127.0.0.1
    -- Generation Time: 28 Jun 2015 pada 01.24
    -- Versi Server: 5.6.21
    -- PHP Version: 5.5.19
    
    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: `contoh`
    --
    
    -- --------------------------------------------------------
    
    --
    -- Struktur dari tabel `karyawan`
    --
    
    CREATE TABLE IF NOT EXISTS `karyawan` (
      `nik` varchar(10) NOT NULL,
      `nama` varchar(50) NOT NULL,
      `tempat_lahir` varchar(30) NOT NULL,
      `tanggal_lahir` varchar(30) NOT NULL,
      `alamat` varchar(50) NOT NULL,
      `no_telepon` varchar(10) NOT NULL,
      `jabatan` varchar(15) NOT NULL,
      `status` varchar(10) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    
    --
    -- Dumping data untuk tabel `karyawan`
    --
    
    INSERT INTO `karyawan` (`nik`, `nama`, `tempat_lahir`, `tanggal_lahir`, `alamat`, `no_telepon`, `jabatan`, `status`) VALUES
    ('20150001', 'Ahmad Andriansyah', 'Bekasi', '27-09-1994', 'Cikarang - Bekasi', '0856989712', 'Manager', 'Tetap'),
    ('20150002', 'Rizky Halal', 'Bekasi', '23-09-1995', 'Cibiitung - Bekasi', '1212121212', 'Staff', 'Kontrak');
    
    --
    -- Indexes for dumped tables
    --
    
    --
    -- Indexes for table `karyawan`
    --
    ALTER TABLE `karyawan`
     ADD PRIMARY KEY (`nik`);
    
    /*!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 */;

  • Kemudian buat file koneksi ke database, silahkan copas code di bawah ini dan simpan ke dalam folder laporan-pdf yang telah di buat tadi dengan nama conn.php
    <?php
    mysql_connect("localhost","root","");
    mysql_select_db("contoh");
    
    ?>
    

  • Setelah kita membuat file koneksi, sekarang kita akan membuat file untuk menampilkan data dari database ke pdf, silahkan copas code berikut dan simpan dengan nama index.php
  • <?php
    include "conn.php";
    require('fpdf17/fpdf.php');
    /**
     Judul  : Laporan PDF (portait):
     Level  : Menengah
     Author : Ahmad Andriansyah
     Blog   : www.curi-cara.com
     Email  : ahmadandriansyah03@ygmail.com
     
     Untuk tutorial yang lainnya silahkan berkunjung ke www.curi-cara.com
     
     Butuh jasa pembuatan website, aplikasi, pembuatan program TA dan Skripsi.? Hubungi  ==>> 089624037824
     
     **/
    //Menampilkan data dari tabel di database
    
    $result=mysql_query("SELECT * FROM karyawan ORDER BY nik ASC") or die(mysql_error());
    
    //Inisiasi untuk membuat header kolom
    $column_nik = "";
    $column_nama = "";
    $column_tempat = "";
    $column_tanggal = "";
    $column_alamat = "";
    $column_no = "";
    
    
    //For each row, add the field to the corresponding column
    while($row = mysql_fetch_array($result))
    {
        $nik = $row["nik"];
        $nama = $row["nama"];
        $tempat_lahir = $row["tempat_lahir"];
        $tanggal_lahir = $row["tanggal_lahir"];
        $alamat = $row["alamat"];
        $no_telepon = $row["no_telepon"];
     
        
    
        $column_nik = $column_nik.$nik."\n";
        $column_nama = $column_nama.$nama."\n";
        $column_tempat = $column_tempat.$tempat_lahir."\n";
        $column_tanggal = $column_tanggal.$tanggal_lahir."\n";
        $column_alamat = $column_alamat.$alamat."\n";
        $column_no = $column_no.$no_telepon."\n";
        
    
    //Create a new PDF file
    $pdf = new FPDF('P','mm',array(210,297)); //L For Landscape / P For Portrait
    $pdf->AddPage();
    
    //Menambahkan Gambar
    //$pdf->Image('../foto/logo.png',10,10,-175);
    
    $pdf->SetFont('Arial','B',13);
    $pdf->Cell(80);
    $pdf->Cell(30,10,'DATA KARYAWAN',0,0,'C');
    $pdf->Ln();
    $pdf->Cell(80);
    $pdf->Cell(30,10,'PT. NiqoWeb Cikarang',0,0,'C');
    $pdf->Ln();
    
    }
    //Fields Name position
    $Y_Fields_Name_position = 30;
    
    //First create each Field Name
    //Gray color filling each Field Name box
    $pdf->SetFillColor(110,180,230);
    //Bold Font for Field Name
    $pdf->SetFont('Arial','B',10);
    $pdf->SetY($Y_Fields_Name_position);
    $pdf->SetX(5);
    $pdf->Cell(25,8,'NIK',1,0,'C',1);
    $pdf->SetX(30);
    $pdf->Cell(40,8,'Nama',1,0,'C',1);
    $pdf->SetX(70);
    $pdf->Cell(25,8,'Tempat Lahir',1,0,'C',1);
    $pdf->SetX(95);
    $pdf->Cell(25,8,'Tanggal Lahir',1,0,'C',1);
    $pdf->SetX(120);
    $pdf->Cell(50,8,'Alamat',1,0,'C',1);
    $pdf->SetX(170);
    $pdf->Cell(35,8,'No Telepon',1,0,'C',1);
    $pdf->Ln();
    
    //Table position, under Fields Name
    $Y_Table_Position = 38;
    
    //Now show the columns
    $pdf->SetFont('Arial','',10);
    
    $pdf->SetY($Y_Table_Position);
    $pdf->SetX(5);
    $pdf->MultiCell(25,6,$column_nik,1,'C');
    
    $pdf->SetY($Y_Table_Position);
    $pdf->SetX(30);
    $pdf->MultiCell(40,6,$column_nama,1,'L');
    
    $pdf->SetY($Y_Table_Position);
    $pdf->SetX(70);
    $pdf->MultiCell(25,6,$column_tempat,1,'C');
    
    $pdf->SetY($Y_Table_Position);
    $pdf->SetX(95);
    $pdf->MultiCell(25,6,$column_tanggal,1,'C');
    
    $pdf->SetY($Y_Table_Position);
    $pdf->SetX(120);
    $pdf->MultiCell(50,6,$column_alamat,1,'L');
    
    $pdf->SetY($Y_Table_Position);
    $pdf->SetX(170);
    $pdf->MultiCell(35,6,$column_no,1,'C');
    
    $pdf->Output();
    ?>
  • Dari code di atas maka kita akan mendapatkan tampilan laporan pdf dengan posisi Portait seperti gambar berikut ini :

Bagaimana.? Cukup mudah bukan untuk membuat laporan pdf di PHP.? atau anda masih bingung.? jangan khawatir saya akan memberikan link download laporan pdf tersebut silahkan anda download di sini DOWNLOAD. Semoga tutorial ini bisa bermanfaat bagi anda yang sedang belajar pemrograman PHP dan ingin menampilkan laporannya dalam format PDF. Terus belajar dan berusaha karenanya kita bisa hadapi dunia, Selamat Mencoba.



Previous Post
Next Post

post written by:

0 komentar: