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 Table
- CREATE TABLE SISWA (
- 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 Table
- INSERT INTO siswa (NIS, Nama, Alamat, TGL_LAHIR , Telp, Angkatan )
- 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');
- )
- <?php
- //============================================
- //@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 !!";
- }
- ?>
- <?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>
- <?php
- 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')."
- <img src='ttd.png' width='120'>
- ( 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 :