Membuat Print Preview dengan PHP


Laporan adalah suatu yang wajib dalam sebuah transaksi atau proses bisnis. Tidak jauh berbeda dengan aplikasi desktop, Aplikasi berbasis web juga membutuhkan laporan untuk di cetak atau di download dengan format lain seperti PDF atau XLS. Tiga artikel kedepan akan membahas tentang teknik membuat laporan berbasis web. Untuk teknik pertama adalah membuat laporan dengan format cetak. Biasanya teknik ini dipakai saat user ingin membuat laporan penjualan, laporan transaksi, laporan harian dan sebagainya.

Prasyarat
Dalam panduan ini, saya menggunakan CSS framework bernama Twitter Bootstrap dan XAMPP 1.7.4 di Windows XP. Twitter bootstrap sifatnya opsional karena dia hanya dipakai untuk memformat tampilan dan tabel data. Nama databasenya adalah upahdb dengan nama tabel umr2013. Berikut ini adalah tampilan dari Print preview.

Contoh print preview laporan data UMR tahun 2013

Soure code

Ini adalah potongan kode utama dari halaman laporan yang akan kia buat. Untuk penjelasan, lihat source codenya. Ingat, kalau mau belajar jangan asal comot, lihat penjelasan di source codenya


<html>
	<head>
	<!-- CSS bootstrap untuk menampilkan halaman secara cantik -->
	<link href="../assets/css/bootstrap.css" rel="stylesheet">
	<style type="text/css">	
	/* CSS untuk memformat halaman */	
	body {
			padding-top: 20px;
			padding-bottom: 40px;
			font-size: 0.7em;
	}
</style>
	</head>
	<body>
		<div class='span8  offset2'>
		<h2 style='text-align: center'> UMR 2013</h2>
		<hr>
		<table  class="table  table-condensed table-hover">
		<thead>
		<th><td><b>Propinsi </b></td><td class='pull-right'><b>Upah </b></td></th>
		</thead>
		<tbody>
		<?php
					
	require ('../inc/config.php');
	/* query SQL untuk mengambil data dari database */
$query="select * from umr2013";
$result=mysql_query($query) or die(mysql_error());
$no=1;
/*proses menampilkan data kedalam tabel 
 * perhatikan ada format_rupiah, fungsi ini agar data tampil dengan 
 * format rupiah, data aslinya hanya angka bisa, 
  lihat di file config.php  */
while($rows=mysql_fetch_object($result)){
?>
	<tr>
	</td><td><? echo $rows -> no;?></td>
	<td><?	echo $rows -> propinsi;?></td>			
	<td ><p class='pull-right'><? echo format_rupiah($rows -> upah);?></p></td>
	</tr>
<? }?>
	</tbody>
	</table>
	<p align='center'>
	<!-- kode untuk menampilkan tombol print dan saat di klik 
	 akan membuka printer dialog -->

<a href="umr2013_cetak.php" cls='btn' onClick="window.print();return false">
	 <i class='icon-print'></i>Cetak </a>
			</p>
		</div>
	</body>
</html>

Soure code

source code lengkap dan script SQL databasenya bisa anda download disini.

Tags:

33 thought on “Membuat Print Preview dengan PHP”

  1. Anonymous says:

    mas kalo mau bikin hasil printnya jadi 2 kolom gimana ya?

  2. hakim says:

    mas, jika data nya banyak, ga cukup satu lembar biasanya header table nya ada dua dan gak beraturan, cara nya gimana ya biar bisa cuma satu header table

  3. wawan says:

    terimaksih mas, jadi pencerahan

  4. Mus Koto says:

    Salam kenal,
    Mas Candra, saya sangat berterima kasih menemukan web candra ini. Saya sdg mencari fasilitas cetak. ALhamdulillah terjawab di sini. Semoga mas Candra sehat dan sukses slalu! telah ikhlas berbagi ilmunya.izinkan saya sedot utk dipelajari.

    Oh, saya sedang membuat fasilitas cetak struk penjualan di kantor saya bekerja pakai kertas continuous form.. Tapi masih belum ketemu jurusnya. Mohon dibantu jika mas Candra punya coding/script cetak struk dengan PHP & MYSql. Jika ada boleh donk di-share di sini, atau kirim ke email saya: mus.koto@gmail.com.

    Terima kasih mas Canda.
    Mus Koto

  5. Febrian says:

    Klo mau di cetak pakai dotprint bisa kah??

  6. Kiki Setiawan says:

    Bagus bahasannya Om Candra, Salam :D
    Membantu sekali, saya sedang buat program untuk Kuliah ^_^

  7. Deni Setiawan says:

    Nice info banget gan, semoga bisa tambah masukan buat website saya jadi lebih baik lagi SEOnya :D

  8. Anonymous says:

    Sory mengganggu bang, kenapa hasil runnya no database selected padahal sudah import databasenya yang namanya upahdb

  9. infonitas says:

    Terimakasih Infonya gan…

    Baca jg Info Komunitas Online Megapolitan. http://www.infonitas.com

  10. Anonymous says:

    inikan pakai xampp ya?
    kalau pakai apache2triad gmn ya ?

    sempat coba metode lain, bisa proses di xampp tapi di apache2triad tidak bisa…

  11. naufal says:

    Mas, saya sudah coba download filenya dan pada saat saya coba ada error. Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\test\print\umr2013\umr2013_view.php on line 35

    kira-kira itu kesalahannya dimana yah mas,.
    makasi sebelomnya

  12. atiq azizi says:

    wah… ini yang saya cari… sangat membantu mas!
    sama mau tanya mas,
    (1) gimana buat laporan di php seting orientasi kertas landscape? soalnya kolom yang mau ditampilkan banyak.
    (2) gimana seting jika printer type kertas Rol?
    .
    mohon bantuannya!
    terima kasih.

  13. prima says:

    mas mo tanya donk
    itu gmn kalau mau nyetting tampilan hasil cetakannya
    misalnya di saya jadikan pdf biar tampilan hasil cetakannya ada kop suratnya misalkan

    makasih

  14. jeffry says:

    function LoadData($file)
    {
    // Read file lines
    $lines = file($file);
    $data = array();
    foreach($lines as $line)
    $data[] = explode(‘;’,trim($line));
    return $data;
    }

    file diatas dalam file umr2012_pdf.php , fungsinya untuk apa ya.. kalau tanpa fungsi itu apa yang terjadi, maaf masih newbie

  15. satbud says:

    Mas, saya sudah coba download filenya dan pada saat saya coba ada error. Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\test\print\umr2013\umr2013_view.php on line 53

    kira-kira itu kesalahannya dimana yah mas,.
    makasi sebelomnya

    1. short_open_tag di php.ini di aktifkan…

    2. satbud says:

      sudah saya edit php.ini kira-kira seperti ini
      ; short_open_tag
      ; Default Value: On
      ; Development Value: On
      ; Production Value: On

      masih tidak bisa

    3. itu bukan itu bro, itu kan komentar, setiap yang ada titik koma diawal baris itu komentar, ya ga ngefek lah, liat bari s
      sektiar 220-230
      short_open_tag = On
      itu yang benar…
      baru restart xamppnya

    4. satbud says:

      makasi mas, udah jalan…

    5. fajria says:

      berarti ada kurung kurawal/tag buka lain yang blum ditutup. :)

  16. Andika says:

    matur nuwun mas menambah ilmu..

  17. bakron says:

    tuker linkkk kang,, ni baru belajar coding…

  18. jenny says:

    mantab , share2 ilmu lagi yaaa… ijin sedooot

  19. heri says:

    mantab gan, share ilmunya ga tanggung-tanggung…..
    thanks….

  20. riswan says:

    Ini baru mantap bank….
    Ngasih kode program sekaligus dengan penjelasannya…..
    Lanjut terus bang saya masih baru di php dan akan terus blajar php….
    Tolong di bahas juga (dengan source codenya) pencetakan tabel laporan langsung (directly) ke printer dengan garis-garis horizontal dan vertikal seperti layaknya garis-garis di excel…
    kalau bisa secepatnya bang………:) :)
    Penjelasannya sangat membantu, trims…

    1. Candra Adi Putra says:

      itu cuman mainan border aja.. seting tabelnya border=1

  21. terimakasih ya bang, senang bisa ketemu sama web ini, semoga ilmunya makin bertambah

    1. Candra Adi Putra says:

      amin

    2. Rangga says:

      Mas pas waktu print preview kok kurang beraturan itu ngaturnya gimana ya Mas..,??

  22. standrett says:

    T e r i m a k a s i h !!!!!

  23. El Akbar says:

    asik banged web nya
    dak bikin bosen berkunjung

  24. rifdaym says:

    Terimakasih!! sangat membantu :)

Tinggalkan Komentar plz!