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.
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.
mas kalo mau bikin hasil printnya jadi 2 kolom gimana ya?
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
terimaksih mas, jadi pencerahan
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: [email protected].
Terima kasih mas Canda.
Mus Koto
Klo mau di cetak pakai dotprint bisa kah??
Bagus bahasannya Om Candra, Salam :D
Membantu sekali, saya sedang buat program untuk Kuliah ^_^
Nice info banget gan, semoga bisa tambah masukan buat website saya jadi lebih baik lagi SEOnya :D
Sory mengganggu bang, kenapa hasil runnya no database selected padahal sudah import databasenya yang namanya upahdb
Terimakasih Infonya gan…
Baca jg Info Komunitas Online Megapolitan. http://www.infonitas.com
inikan pakai xampp ya?
kalau pakai apache2triad gmn ya ?
sempat coba metode lain, bisa proses di xampp tapi di apache2triad tidak bisa…
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
Ganti <? Dng <?php
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.
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
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
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
short_open_tag di php.ini di aktifkan…
sudah saya edit php.ini kira-kira seperti ini
; short_open_tag
; Default Value: On
; Development Value: On
; Production Value: On
masih tidak bisa
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
makasi mas, udah jalan…
berarti ada kurung kurawal/tag buka lain yang blum ditutup. :)
matur nuwun mas menambah ilmu..
tuker linkkk kang,, ni baru belajar coding…
mantab , share2 ilmu lagi yaaa… ijin sedooot
mantab gan, share ilmunya ga tanggung-tanggung…..
thanks….
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…
itu cuman mainan border aja.. seting tabelnya border=1
terimakasih ya bang, senang bisa ketemu sama web ini, semoga ilmunya makin bertambah
amin
Mas pas waktu print preview kok kurang beraturan itu ngaturnya gimana ya Mas..,??
T e r i m a k a s i h !!!!!
asik banged web nya
dak bikin bosen berkunjung
Terimakasih!! sangat membantu :)