Laporan yang telah disajikan dilayar monitor seringkan diperlukan untuk didistribusikan kepada yang memerlukan laporan tersebut. Cara yang paling praktis adalah di konversi ke file pdf selain di cetak ke kertas. Untuk memberikan pemahaman bagaimana sebuah laporan di konversi ke file pdf, marilah kita pelajari kasus dibawah ini.

Berikut susunan tabel yang akan kita gunakan:
Nama Database: dblatihan
Nama Tabel: tdosen

Spesifikasi tabel:
id (INT 11) PrimaryKey-AutoIncreament
nid (Varchar 10)
nama (Varchar 100)
alamat (TEXT)
jk (Char 1)
handPhone (Varchar 13)
fakultas (Varchar 30)

Copykan file class.ezpdf dan class.pdf ke dalam folder kerja Anda di Xampp/htdocs… kemudian disini kita membutuhkan file folder lainnya.

buat file reportNilai.php isinya sbb:

<form method="post" action="<strong>printNilai.php</strong>">
<table>
<tr>
<td>Fakultas</td><td>:</td><td>
<select name="fakultas">
<option value="Pilih Fakultas">Pilih Fakultas</option>
<?php
mysql_connect("localhost","root","");
mysql_select_db("dblatihan");

$sql = mysql_query("SELECT fakultas FROM tdosen GROUP BY fakultas ASC");
while ($data = mysql_fetch_array($sql)){
echo "<option value='$data[fakultas]'>$data[fakultas]</option>";
}
?>
</select>
</td>
</tr>
<tr><td><input type="submit" value="Cetak"></td></tr>
</table>
</form>

buat file printNilai.php, isinya sbb:

<?php
// Include file class.ezpdf dalam folder fungsiPDF
include ('fungsiPDF/class.ezpdf.php');
// Koneksi ke database dan tampilkan datanya
mysql_connect("localhost", "root", "");
mysql_select_db("dblatihan");

if ($_POST[fakultas]=='Pilih Fakultas'){
echo "Pilih dulu Fakultasnya.. ";
}
else {
$pdf = new Cezpdf();

// Set margin dan font
$pdf->ezSetCmMargins(3, 3, 3, 3);
$pdf->selectFont('fungsiPDF/fonts/Courier.afm');
$all = $pdf->openObject();

// Tampilkan logo
$pdf->setStrokeColor(0, 0, 0, 1);
$pdf->addJpegFromFile('logo.jpg',20,800,69);

// Teks di tengah atas untuk judul header
$pdf->addText(200, 820, 16,'<b>Laporan Data Dosen</b>');
$pdf->addText(90, 800, 14,'<b>AGUS SAPUTRA & ASFA SOLUTION, ASFAMEDIA - ASFA GROUP</b>');
// Garis atas untuk header
$pdf->line(10, 79 5, 578, 795);
$pdf->addText(50, 780, 8,'<b>Fakultas :</b> '. $_POST[fakultas]);
// Garis bawah untuk footer
$pdf->line(10, 50, 578, 50);
// Teks kiri bawah
$pdf->addText(30,34,8,'Dicetak tgl:' . date( 'd-m-Y, H:i:s'));

$pdf->closeObject();

// Tampilkan object di semua halaman
$pdf->addObject($all, 'all');

// Query untuk merelasikan kedua tabel
$sql = mysql_query("SELECT * FROM tdosen WHERE fakultas = '$_POST[fakultas]'");
$jml = mysql_num_rows($sql);
$i = 1;
while($r = mysql_fetch_array($sql)){

$data[$i]=array('<b>No</b>'=>$i,
'<b>NID</b>'=>$r[nid],
'<b>Nama</b>'=>$r[nama],
'<b>Alamat</b>'=>$r[alamat],
'<b>jk</b>'=>$r[jk],
'<b>handphone</b>'=>$r[handPhone]);
$i++;
}

$pdf->ezTable($data, '', '', '');

// Penomoran halaman
$pdf->ezStartPageNumbers(320, 15, 8);
$pdf->ezStream();
}
?> 

Sourcenya dapat Anda download disini.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *