Langkah – Langkahnya :
1. download library FPDF dari sini
kemudian copy ke root direktori dari web server, atau langsung ke direktori kerja.
2. siapkan dulu tabelnya, misalkan contoh tabelnya seperti ini :
CREATE TABLE IF NOT EXISTS `person` (
`id` int(3) NOT NULL auto_increment,
`Nama` varchar(50) NOT NULL default ”,
`Alamat` varchar(50) NOT NULL default ”,
`Telepon` varchar(50) NOT NULL default ”,
`Jabatan` varchar(50) NOT NULL default ”,
PRIMARY KEY (`id`)
)
Jangan lupa juga isi tabel tersebut dengan beberapa sample data.
3. kemudian mulailah menulis contoh script di bawah ini :
<?php
//koneksi ke database
$host =”localhost”;
$user=”root”;
$password=”";
$database=”person”;
mysql_connect($host,$user,$password) or die(“Koneksi server gagal”);
mysql_select_db($database);//perintah untuk query dari database
$query =”select nama,alamat,telepon,jabatan from person order by nama”;
$db_query = mysql_query($query) or die(“Query gagal”);//Variabel untuk iterasi
$i = 0;//Mengambil nilai dari query database
while($data=mysql_fetch_row($db_query))
{
$cell[$i][0] = $data[0];
$cell[$i][1] = $data[1];
$cell[$i][2] = $data[2];
$cell[$i][3] = $data[3];
$i++;
}require(‘fpdf/fpdf.php’);
//memulai pengaturan output PDF
class PDF extends FPDF
{
//untuk pengaturan header halaman
function Header()
{
//Pengaturan Font Header
$this->SetFont(‘Times’,'B’,14); //jenis font : Times New Romans, Bold, ukuran 14//untuk warna background Header
$this->SetFillColor(255,255,255);//untuk warna text
$this->SetTextColor(0,0,0);//Menampilkan tulisan di halaman
$this->Cell(19,1,’Data Pribadi’,'TBLR’,0,’C',1); //TBLR (untuk garis)=> B = Bottom,
// L = Left, R = Right
//untuk garis, C = center
}
}//pengaturan ukuran kertas P = Portrait
$pdf = new PDF(‘P’,'cm’,'A4′);
$pdf->Open();
$pdf->AddPage();//Ln() = untuk pindah baris
$pdf->Ln();
$pdf->SetFont(‘Times’,'B’,12);$pdf->Cell(1,1,’No’,'LRTB’,0,’C');
$pdf->Cell(3,1,’Nama’,'LRTB’,0,’C');
$pdf->Cell(4,1,’Alamat’,'LRTB’,0,’C');
$pdf->Cell(5,1,’Telepon’,'LRTB’,0,’C');
$pdf->Cell(6,1,’Jabatan’,'LRTB’,0,’C');
$pdf->Ln();$pdf->SetFont(‘Times’,”,10);
for($j=0;$j<$i;$j++)
{
//menampilkan data dari hasil query database
$pdf->Cell(1,1,$j+1,’LBTR’,0,’C');
$pdf->Cell(3,1,$cell[$j][0],’LBTR’,0,’C');
$pdf->Cell(4,1,$cell[$j][1],’LBTR’,0,’C');
$pdf->Cell(5,1,$cell[$j][2],’LBTR’,0,’C');
$pdf->Cell(6,1,$cell[$j][3],’LBTR’,0,’C');
$pdf->Ln();
}//menampilkan output berupa halaman PDF
$pdf->Output();
?>
4. kira – kira hasil akhirnya seperti ini :
. : : S E L A M A T M E N C O B A : : .
Salam : einsteinkatro
pak kalo bikin laporan yang datanya banyak dan perlu banyak halaman untuk menampilkannya, bisa dibikin supaya ada header sama footer-nya untuk tiap halaman engga ?
bisa pak asalkan ada fungsi function Header() dan function Footer(), itu langsung generate header dan footer untuk setiap halaman
salam : einstein_katro
pak kalo ada messege error seperti ini :
Warning: Cannot modify header information – headers already sent by (output started at C:\AppServ\www\fpdfex\test.php:1) in C:\AppServ\www\fpdfex\fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can’t send PDF file maksudnya apa???
mohon pencerahannya
coba setting di php.ini cari file output_buffering uban menjadi = on..
Numpang lewat..
mungkin script anda kurang beres/ salah ketik.. cz ane jg pnya error yg sma, tp setelah di teliti.. ternyata cuma salah ketik aj…
bisa liat contoh scriptnya pak????
salam : einstein_katro
salut buatmu mu de —->22 jempol kaki tangan
semoga sukses ya skripsinya
kemudian copy ke root direktori dari web server, atau langsung ke direktori kerja. itu maksudnya apa y??
apa yg di copy??
lalu require itu dr mn y?? maaf msh bingung nih… hehehe..
kemudian copy ke root direktori dari web server, atau langsung ke direktori kerja. maksudnya copy yg mn y??
require itu drmn?? maaf msh bingung
maaf ya kalo tulisan saya membingungkan.
yang dimaksud di copy ya folder Fpdfnya itu…
tapi enakan langsung ke direktori kerjanya aja…
trus requirenya ya dari folder fpdf tadi..
kan di folder itu ada file fpdf.php, nagh file inilah yang
sebenarnya dipake buat create pdfnya…
salam : einstein_katro
gimana caranya biar ada tanggal dan halaman nya secara otomatis n update..???
please ya kasih tw….
maaf, baru sempet bales…
habisnya udah lama nggak pernah OL lage negh…
kalo nggak salah ngerti maksudnya untuk nampilin halaman dan tanggal otomatis ya??
mungkin di bagian footer bisa ditambahi script ini :
//Fungsi untuk footer
function Footer()
{
$this->SetY(-1.5);
$this->SetFont(‘Arial’,'I’,8);
$this->Cell(0,1,’Halaman ‘.$this->PageNo().’ / {nb} ‘,0,0,’L');
$tanggal = date(“d-M-Y”,time());
$this->SetFont(‘Arial’,”,8);
$this->Cell(0,1,’Dicetak tanggal : ‘.$tanggal,0,0,’R');
}
pak mau tanya, kalo isi dari suatu record dari data base nya panjang, supaya bisa bergeser ke baris bawahnya gmn caranya? soalnya selama ini, isinya memanjang ke kanan, jadi menerjang ke kolom selanjutnya, padahal sudah saya kasih widthnya, tapi nggak ngefek.
mohon bantuannya…
trima kasih banyak pak sebelumnya..
kasus nya sama error kaya yang ditulis sama bahrul, script nya yang bapak kasih. itu kenapa yah ??
Pak, saya coba script yang bapak kasih diatas, tapi headernya ada jg dihalaman kedua setelah diproses, gimana cara hilangin header dihalaman kedua, dan kolom nya bisa diperkecil tidak ya, karena terlalu besar dan boros kertas, apa yg mesti dirubah dari scriptnya. terima kasih ya pak.
Saya juga ada problem seperti ini :
Warning: Cannot modify header information – headers already sent by (output started at c:\apache\htdocs\belajar-laporan-via-php\laporan.php:10) in c:\apache\htdocs\belajar-laporan-via-php\fpdf\fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can’t send PDF file
Hal tersebut gmn pembetulannya? Mohon bimbingan …
Kalau boleh, jawabannya juga via email saya ..
Makasih bos, saya sedang belajar ini
kalo bisa, jangan ada spasi, atau html tag, atau character apapun sebelum PHP tag
itu terjadi karena
Ada Output Sebelum Header Di kirim
saya sudah mencoba script yang tapi ada yang saya rubah, trus ada error pesannya
parse error…
ini srciptnya
SetFont(‘Arial’,'B’, 8);
$this->Cell(19,1,’LAPORAN’,0,1,’C');
}
}
$pdf = new PDF();
$pdf->Open();
$pdf->AddPage();
//Ln() = untuk pindah baris
$pdf->Ln();
$pdf->SetFont(‘Arial’,'B’, 8);
$pdf->Cell(1,1,’NO ‘,’LRTB’, 0, ‘C’);
$pdf->Cell(3,1,’Nama ‘,’LRTB’, 0, ‘C’);
$pdf->Cell(4,1,’Tempat ‘,’LRTB’, 0, ‘C’);
$pdf->Ln();
$pdf->SetFont(‘Arial’,'B’, 8);
for($j=0;$jCell(1,1,$j+1,’LBTR’,0,’C’);
$pdf->Cell(3,1,$cell[$j][1],’LBTR’,0,’C’);
$pdf->Cell(4,1,$cell[$j][2],’LBTR’,0,’C’);
$pdf->Ln();
}
//menampilkan output berupa halaman PDF
$pdf->Output();
?>
Uhm…Coba mas ingat2 mana yang code di rubah. atau kalo nggak ya code yang saya kasih di coba lage… hehehee…soalnya saya juga bingung kalo harus baca code sepotong potong gitu.. hehehe
@ iyan
Coba letakkan script:
$pdf = new PDF();
$pdf->Open();
$pdf->AddPage();
selalu pada AWAL source code-mu.
wew…keren
artikel ini nih yg aq tunggu2..
hehe..
thanks…mas
sama ky pertaanyaan anfe.kalo isi dari suatu record dari data base nya panjang, supaya bisa bergeser ke baris bawahnya gmn caranya? soalnya selama ini, isinya memanjang ke kanan, jadi menerjang ke kolom selanjutnya,dan menimpah tulisan yang ada di kolom selanjutnya..trus headernya juga jd muncul d halaman ke dua..mohon solusinya..terima kasih
mas gimana cara mendapatkan “library FPDF”
setelah aku klik “sini” nya musti kmna lagi?
salam kenal pak..sy mo tanya klo ingin nampilkan record tertentu saja tidak semuanya gimana Y? apakah fpdf mengenal data session? thanks y pak
pak saya mana tanya ne.
bagaimana cara untuk kita memperbesar dan mempercekil kolom2 pak atau kita buat besar kolom itu mengikuti besar data yg akan terisi pada kolom.
pak,,gimana y cara membuat laporan absensi kelas mingguan yg berisi 6 tgl ??
krna stelah saya tmpilkan di web dgn PHP, saya akan membuat laporan tsb dgn format PDF.
tolong penjelasannya..
thanx.
@pak Soerandie : maaf pak, untuk saat ini saya mungkin tidak bisa banyak membantu… saya sudah lama nggak pegang PHP lage.. jadi musti refresh lage neh…
untuk error “Cannot modify header information”
solusinya bisa tambahkan perintah :
<?
ob_start();
– your script php
ob_end_flush();
<?
Mau tanya,,,
Bagaimana script cara masukkan data field dari database mysql jika ditaruh pada header untuk tampilan pdf.
Sama pertanyaan nya klo misalkn isi recordnya panjang gmana caranya untuk berpindag baris . .
terima kasih artikelnya beguna untuk saya yg sedang bikin laporan untuk survey nih…
mau tanya:
kalaw isi di databasenya panjang, jadi kacau tampilannya, nah bagaimana caranya niar teks tu ngikutin lebar kolom, jadi kalaw kepanjangan si teksnya ke bawah:
contoh :
cccccccc
cccccccc
cccccccc
ga jadi begini :
cccccccccccccccccccccccccccccccccccccccccccc
makasih, di tunggu jawabannya
Mohon maaf untuk seperti itu saya belum pernah explore lebih lanjut….
[...] Membuat Laporan PDF menggunakan PHP dan FPDF January 200834 comments 3 [...]
Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\coba menu\global.php:8) in C:\xampp\php\PEAR\fpdf\fpdf.php on line 1017
FPDF error: Some data has already been output, can’t send PDF file
itu error yang ada pak…bisa mohon dibantu gak?
artikelnya sangat bagus,,
tapi knpa ya muncul error kyak gini:
Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\laporan\abc.php:1) in C:\xampp\php\PEAR\fpdf\fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can’t send PDF file
scriptnya ini, ada yang salah g??
mohon pencerahannya.^_^
SetFont(“Times”,”B”,14); //jenis font : Times New Romans, Bold, ukuran 14
//untuk warna background Header
$this->SetFillColor(255,255,255);
//untuk warna text
$this->SetTextColor(0,0,0);
//Menampilkan tulisan di halaman
$this->Cell(19,1,”Data Pribadi”,”TBLR”,0,”C”,1); //TBLR (untuk garis)=> B = Bottom,
// L = Left, R = Right
//untuk garis, C = center
}
}
//pengaturan ukuran kertas P = Portrait
$pdf = new PDF(“P”,”cm”,”A4″);
$pdf->Open();
$pdf->AddPage();
//Ln() = untuk pindah baris
$pdf->Ln();
$pdf->SetFont(“Times”,”B”,12);
$pdf->Cell(1,1,”No”,”LRTB”,0,”C”);
$pdf->Cell(3,1,”Nama”,”LRTB”,0,”C”);
$pdf->Cell(4,1,”Alamat”,”LRTB”,0,”C”);
$pdf->Cell(5,1,”Telepon”,”LRTB”,0,”C”);
$pdf->Cell(6,1,”Jabatan”,”LRTB”,0,”C”);
$pdf->Ln();
$pdf->SetFont(“Times”,”",10);
for($j=0;$jCell(1,1,$j+1,”LBTR”,0,”C”);
$pdf->Cell(3,1,$cell[$j][0],”LBTR”,0,”C”);
$pdf->Cell(4,1,$cell[$j][1],”LBTR”,0,”C”);
$pdf->Cell(5,1,$cell[$j][2],”LBTR”,0,”C”);
$pdf->Cell(6,1,$cell[$j][3],”LBTR”,0,”C”);
$pdf->Ln();
}
//menampilkan output berupa halaman PDF
$pdf->Output();
?>
pakai xampp 1.7.4 ya mas? hapus folder fpdf didalam xampp\php\PEAR, lalu download fpdf yang baru di http://fpdf.org/en/dl.php?v=17&f=zip, exctract dan pindahkan kedalam folder PEAR.
pak ko liblary ny susah d download sh
tampilannya ko gede ya? cara ngecilinnya gmn >?
makasih gan…saya coba duluu
pak bagai mana cara looping isi databasenya kesamping kanan bukan kebawah?