Selamat sore pecinta PHP, kali ini saya akan memberikan contoh kodingan membuat report atau laporan dalam format pdf di PHP dengan menggunakan library HTML2PDF dan menggunakan database MySQL. Convert HTML ke PDF ini banyak sekali caranya, baik dengan menggunakan library MPDF5, FPDF, maupun HTML2PDF.
Sebelum mulai koding, download dulu library HTML2PDF disini.
Setelah di download, seperti biasa kita harus create database dan tablenya.
Contoh databasenya mahasiswa dengan tabel siswa.
Create TableCREATE TABLE SISWA (Jangan lupa insert tabelnya
NIS VARCHAR(10) NOT NULL PRIMARY KEY,
NAMA VARCHAR(30) NOT NULL,
ALAMAT VARCHAR(255) NOT NULL,
TGL_LAHIR DATE NOT NULL,
TELP VARCHAR(30) NOT NULL,
ANGKATAN VARCHAR(2) NOT NULL
)
Insert TableINSERT INTO siswa (NIS, Nama, Alamat, TGL_LAHIR , Telp, Angkatan )Langkah pertama, buat file koneksi yang biasa diberi nama config. Simpan saja file koneksinya dengan nama config.php.
values ('0912912','ALETA GAOS', 'JAKARTA', '1991-03-01','0341 567890','2009');
INSERT INTO siswa (NIS, Nama, Alamat, TGL_LAHIR , Telp, Angkatan )
values ('12345','ANGGUN PATRIANA', 'JAKARTA', '07-04-1990','021886968','2008');
INSERT INTO siswa (NIS, Nama, Alamat, TGL_LAHIR , Telp, Angkatan )
values ('13456','FERI ALGIFARI GAOS', 'CIAMIS', '19-02-1989','081256985','2007');
)<?phpSelanjutnya kita bikin file siswa.php yang kodingannya seperti di bawah ini.
//============================================
//@author : Anggun Patriana
//============================================
//setting koneksi php dan mysql anda
$root = "root"; //username db anda
$pass = ""; //password database anda
$db = "mahasiswa"; //nama database anda
$host = "localhost";
if($connect = mysql_connect($host,$root,$pass)==true){
$sel = mysql_select_db($db);
}
else{
echo "Koneksi database Gagal !!";
}
?><?phpSetelah bikin file siswa.php, selanjutnya kita buat halaman report PDFnya, simpan dengan file report.php
include_once("config.php");
//buat query untuk menampilkan berita
$query = mysql_query("SELECT * FROM SISWA ORDER BY NAMA");
?>
<style>
table{
border:silver 1px solid;
}
table td{
border-bottom:silver 1px solid;
border-right:silver 1px solid;
padding:0 0 0 5px;
}
</style>
<table cellpadding="0" cellspacing="0" style="font-family:Verdana, Geneva, sans-serif">
<!--DWLayoutTable-->
<tr>
<td height="25" colspan="7" align="center"><strong>DAFTAR MAHASISWA</strong></td>
</tr>
<tr>
<td height="25" align="center" style="background-color:#CCC"><strong>NO</strong></td>
<td width="100" align="center" style="background-color:#CCC"><strong>NIS</strong></td>
<td width="250" align="center" style="background-color:#CCC"><strong>NAMA</strong></td>
<td width="150" align="center" style="background-color:#CCC"><strong>ALAMAT</strong></td>
<td width="150" align="center" style="background-color:#CCC"><strong>TGL LAHIR</strong></td>
<td width="150" align="center" style="background-color:#CCC"><strong>TELEPON</strong></td>
<td width="100" align="center" style="background-color:#CCC"><strong>ANGKATAN</strong></td>
</tr>
<?php
$nomor = 1;
while($data = mysql_fetch_array($query)){
$kode = $data['NIS']; // ambil nis siswa (unik)
?>
<tr>
<td width="38" height="25" valign="middle"><?php echo $nomor; ?></td>
<td valign="middle"><?php echo $data['NIS']; ?></td>
<td valign="middle"><?php echo $data['NAMA']; ?></td>
<td valign="middle"><?php echo $data['ALAMAT']; ?></td>
<td valign="middle"><?php echo $data['TGL_LAHIR']; ?></td>
<td valign="middle"><?php echo $data['TELP']; ?></td>
<td valign="middle"><?php echo $data['ANGKATAN']; ?></td>
<td valign="middle">
<!-- BUAT LINK POP UP KE HALAMAN PDF KONVERTER SEPERTI PADA CONTOH BERIKUT -->
<a href="javascript:void(0);"
onclick="window.open('report.php?kode=<?php echo $kode; ?>','nama_window_pop_up','size=800,height=800,scrollbars=yes,resizeable=no')">PDF</a>
</td>
</tr>
<?php
$nomor++;
}
?>
</table><?phpHasilnya seperti di bawah ini.
session_start();
ob_start();
include_once("config.php"); //buat koneksi ke database
$kode = $_GET['kode']; //kode berita yang akan dikonvert
$query = mysql_query("SELECT * FROM SISWA WHERE NIS='".$kode."'");
$data = mysql_fetch_array($query);
?>
<html xmlns="http://www.w3.org/1999/xhtml"> <!-- Bagian halaman HTML yang akan konvert -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title><?php echo $data['NIS']; ?></title>
</head>
<body>
<?php
echo "<h1>".$data['NIS']."</h1>";
echo '<table border="0">
<tr>
<td width="100">NAMA</td>
<td width="10">:</td>
<td width="250">'.$data['NAMA'].'</td>
</tr>
<tr>
<td>TGL LAHIR</td>
<td>:</td>
<td>'.$data['TGL_LAHIR'].'</td>
</tr>
<tr>
<td>ALAMAT</td>
<td>:</td>
<td>'.$data['ALAMAT'].'</td>
</tr>
<tr>
<td>TELEPON</td>
<td>:</td>
<td>'.$data['TELP'].'</td>
</tr>
<tr>
<td>ANGKATAN</td>
<td>:</td>
<td>'.$data['ANGKATAN'].'</td>
</tr>
</table>';
echo "<p>data yang tertera di atas adalah mahasiswa universitas ini.</p>";
echo "<p align='right'>JAKARTA, ".date('d-m-Y')."<br><img src='ttd.png' width='120'><br>( Anggun Patriana )</p>";
?>
</body>
</html><!-- Akhir halaman HTML yang akan di konvert -->
<?php
$filename="mhs-".$kode.".pdf"; //ubah untuk menentukan nama file pdf yang dihasilkan nantinya
//==========================================================================================================
//Copy dan paste langsung script dibawah ini,untuk mengetahui lebih jelas tentang fungsinya silahkan baca-baca tutorial tentang HTML2PDF
//==========================================================================================================
$content = ob_get_clean();
$content = '<page style="font-family: freeserif">'.nl2br($content).'</page>';
require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');
try
{
$html2pdf = new HTML2PDF('P','A4','en', false, 'ISO-8859-15',array(30, 0, 20, 0));
$html2pdf->setDefaultFont('Arial');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output($filename);
}
catch(HTML2PDF_exception $e) { echo $e; }
?>
Semoga bermanfaat
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :