Baru-baru ini saya yang melaksanakan PKL di IPTEKnet BPPT, mendapatkan tugas untuk memberikan fungsi mendownload tabel yang ditampilkan ke layar dengan php dalam bentuk pdf dan excel. Pertama mendengar hal itu, saya agak bingung, membuat fungsi downlaod pada php saja saya belum pernah mencobanya. terakhir saya membuat web dengan php itu sekitar 1 tahun lalu ketika harus membuat projek sebagai tugas akhir dari mata kuliah Basis Data. itu pun hanya dapat menampilkan fungsi-fungsi sederhana. seperti tampilkan tabel, gambar, dll, dengan fungsi seadanya seperti create, read, update, dan delete atau biasa kenal dengan istilah CRUD. hehehe.
Kembali lagi ke masalah pembuatan fungsi download untuk tugas PKL. Jadi pertama-tama, pembimbing PKL kami mengharapkan agar kami dapat menguasai teknik dasar pembuatan web dengan php, yaitu seperti menampilkan tabel beserta fungsi-fungsi CRUD. Setelah itu, saya yang kebetulan mendapatkan tugas untuk membuat fungsi download tabel dari php ke pdf dan excel ini, diminta untuk mencari cara untuk meng-convert tabel yang sudah ditampilkan ke layar lewat coding php menjadi pdf atau excel terlebih dahulu. Lalu, ketika saya sudah bisa mengaplikasikannya ke dalam web sederhana milik saya, saya baru diperbolehkan untuk men'Jajah'i coding yang sudah tersedia untuk ditambahkan fungsi download tersebut.
Nah, karena saya sudah berhasil membuat web sederhana beserta download excel dan pdf nya, saya diperbolehkan untuk membuat kodingan yang tersedia dari kantor untuk ditambahkan fungsi download tersebut. Berikut saya akan memaparkan langkah-langkah pembuatan fungsi "download as pdf and excel":
- Buat database sederhana dengan phpMyAdmin (atau aplikasi database apa pun). Dalam konteks ini, saya menggunakan database “ayam”.
- Buat koneksi ke database tersebut. Misalnya beri nama file ini dengan nama “koneksi.php”
$host = "localhost";
$username = "root";
$password = "";
$koneksi = mysql_connect($host, $username, $password);
$database = mysql_select_db("ayam"); ?>
3. Buat file php yang memunculkan tabel. Misalnya, beri nama "show.php".
Tambahkan di paling bawah kodingannya di atas tanda "?>" seperti ini:
4. Buat file untuk mengkonvert ke pdf. Misalnya beri nama "tampilPdf.php"
nah, dalam hal ini dibutuhkan library fpdf nya. Bisa download dari sini.
//Fungsi download As Excel
$fname="daftar_ayam".".xls";
$fbuat=fopen($fname,'w+');
if(fwrite($fbuat,$tbl)){
echo "< div align=center > < a href='$fname' target=_blank > Excel < /a >   < a href='tampilPdf.php' target=_blank > PDF < /a > < /div >";}
4. Buat file untuk mengkonvert ke pdf. Misalnya beri nama "tampilPdf.php"
nah, dalam hal ini dibutuhkan library fpdf nya. Bisa download dari sini.
Jangan lupa untuk di ekstrak dulu. hehe
5. Selesai! coba jalankan di browser anda. Kalau yang punya saya hasilnya seperti ini
include "koneksi.php"; require('fpdf16/fpdf.php');
//$tgl = date('d-M-Y');
$pdf = new FPDF();
$pdf->Open();
$pdf->addPage();
$pdf->setAutoPageBreak(false);
$pdf->setFont('Arial','',12);
$pdf->text(60,15,'INFORMASI DATA PAKAN AYAM YANG DIPILIH');
$yi = 25; //letak isi tabel, semakin kecil angkanya, semakin ke atas letaknya
$ya = 20; //letak header table nya, semakin kecil angkanya, semakin ke atas
$pdf->setFont('Arial','',9);
$pdf->setFillColor(222,222,222);
$pdf->setXY(15,$ya); //letak headernya, semakin besar angka nya, semakin ke kanan letaknya
//$pdf->CELL(6,6,'No',1,0,'C',1);
$pdf->CELL(25,6,'ID PAKAN',1,0,'C',1);
$pdf->CELL(25,6,'GOLONGAN',1,0,'C',1);
$pdf->CELL(25,6,'NAMA PAKAN',1,0,'C',1);
$pdf->CELL(25,6,'PROTEIN KASAR',1,0,'C',1);
$pdf->CELL(15,6,'ME',1,0,'C',1);
$pdf->CELL(15,6,'CA',1,0,'C',1);
$pdf->CELL(15,6,'FOSFOR',1,0,'C',1);
$pdf->CELL(15,6,'LYSIN',1,0,'C',1);
$pdf->CELL(15,6,'MET',1,0,'C',1);
$ya =$yi+$row; //header table digabung dengan isi table nya
$id_pakan=$_GET['id_pakan'];
$sql = mysql_query("select *from pakan");
//$i = 1; //?
//$no = 1;
//$max = 31; //?
$row = 5; //jarak per baris
while($data = mysql_fetch_array($sql)){
$pdf->setXY(15,$ya);
$pdf->setFont('arial','',9);
$pdf->setFillColor(255,255,255);
//$pdf->cell(6,6,$no,1,0,'C',1);
$pdf->cell(25,6,$data[id_pakan],1,0,'L',1);
$pdf->cell(25,6,$data[golongan],1,0,'L',1);
$pdf->CELL(25,6,$data[nama_pakan],1,0,'L',1);
$pdf->cell(25,6,$data[protein_kasar],1,0,'L',1);
$pdf->cell(15,6,$data[ME],1,0,'L',1);
$pdf->cell(15,6,$data[Ca],1,0,'L',1);
$pdf->CELL(15,6,$data[Fosfor],1,0,'L',1);
$pdf->cell(15,6,$data[Lysin],1,0,'L',1);
$pdf->CELL(15,6,$data[Met],1,0,'L',1);
$ya = $ya+$row;
//$no++;
//$i++;
$dm[kode] = $data[kdprog];
}
$pdf->output();
?>
5. Selesai! coba jalankan di browser anda. Kalau yang punya saya hasilnya seperti ini
Download As excel
Download As pdf
selamat Mencoba :)
kalo untuk no. 3, itu diletakkan dimana yah??pada data tabel yang kita buat??dan apakah harus yang ditampilkan dalam webnya atau database juga bisa??
BalasHapusKalo untuk no. 4, ekstrak librarynya dimana yah??
Terima kasih, saya juga sekarang sedang PKL, dan disuruh membuat download data ke dalam bentuk excel/pdf.
pke datatable aja boi..(jquery)..hhe
BalasHapusmakasi banyak kakak.. bermanfaat sekali :)
BalasHapusconvert excel jadi mudah
BalasHapusthanks ya sob!