Cara Membuat Laporan PDF di PHP dan MySQL dengan FPDF bagian 1 (Portait)


Pada kesempatan kali ini saya akan memberikan tutorial membuat laporan pdf dengan PHP, My SQL 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 follder 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', 'Hakko Bio Richard', 'Bekasi', '27-09-1990', '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 : Hakko Bio Richard
 Blog   : www.hakkoblogs.com
 Web    : www.niqoweb.com
 Email  : hakkobiorichard@ygmail.com
 
 Untuk tutorial yang lainnya silahkan berkunjung ke www.hakkoblogs.com
 
 Butuh jasa pembuatan website, aplikasi, pembuatan program TA dan Skripsi.? Hubungi NiqoWeb ==>> 085694984803
 
 **/
//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 Laporan-PDF  atau 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.

lanjutan bagian ke 2 ==> Cara Membuat Laporan PDF di PHP dan MySQL dengan FPDF bagian 2 (Landscape)
Previous
Next Post »