Kategori
PHP

Code Igniter : Export Data ke File PDF

Studi Kasus : Export Data Mysql Database ke dalam file PDF dalam Code Igniter.
Kebutuhan :
1. Webserver package, already installed.
2. Code Igniter Bundle.
3. Cezpdf library –> download here

Adakalanya, ketika kita membuat aplikasi, kita akan membutuhkan untuk mengexport data ke dalam file pdf (selain dari file excel), misalkan untuk membuat surat atau laporan tertentu. Dengan library cezpdf (karya Wayne Munro ), membuat laporan dalam bentuk pdf tidak akan terlalu sulit.

A. Mempersiapkan Database
1. Buat database dengan nama db_tutorial.
2. Buat tabel dengan nama tb_member, dengan struktur tabel dibawah ini,

3. Insert-kan beberapa sample data dalam tb_member, misal seperti data dibawah ini,

4. Okay, done with database.

B. Mempersiapkan file dan struktur direktori
1. Install Codeigniter, dengan mengekstrak bundle CI dan menempatkannya dalam document root anda.
2. Atur setting database (system-application-config-database.php) dengan setting database yang akan digunakan (db name : db_tutorial)
3. Atur config base url (system-application-config-config.php)
4. Letakkan file cezpdf.php dan class.pdf.php (hasil download Cezpdf library diatas) dalam folder system-application-libraries
5. Letakkan file pdf_helper.pdf dalam folder system-application-helper.
6. Ok 😀

C. Membuat model
1. Ketikkan script berikut ini,
[sourcecode language=”php”]
<?php
class Member_model extends Model {
function Member_Model() {
parent::Model();
}
function alldata()
{
$this->db->select(‘*’);
$this->db->from(‘tb_member’);
$this->db->order_by(‘no’,’ASC’);
$getData = $this->db->get();
if($getData->num_rows() > 0)
return $getData->result_array();
else return null;
}
}
?>
[/sourcecode]
2. Simpan dengan nama member_model.php dalam folder system-application-models

D. Membuat Controller
1. Ketikkan script berikut ini,
[sourcecode language=”php”]
<?php
class Member_con extends Controller {
public function __construct() {
parent::__construct();
$this->load->model(‘member_model’);
$this->load->helper(‘url’);
}
public function index() {
$data[‘member’] = $this->member_model->alldata();
$this->load->view(‘member_view’, $data);
}

function topdf () {
$this->load->library(‘cezpdf’);
$this->load->helper(‘pdf’);
prep_pdf();
$data[‘member’]= $this->member_model->alldata();
$titlecolumn = array(
‘no’ => ‘no’,
‘name’ => ‘name’,
‘address’ => ‘address’
);
$this->cezpdf->ezTable($data[‘member’], $titlecolumn,’Member Data’);
$this->cezpdf->ezStream();
}
}
?>
[/sourcecode]
2. Simpan dengan nama member_model.php dalam folder system-application-models

E. Membuat View
1. Ketikkan script berikut ini,
[sourcecode language=”php”]
<h4>Member Data</h4>
<?php if(count($member) > 0) { ?>
<table border="1">
<tr>
<th>No</th>
<th>Name</th>
<th>Address</th>
</tr>
<?php
foreach($member as $rows) {
echo "<tr>";
echo "
<td>". $rows[‘no’]."</td>
<td>". $rows[‘name’] ."</td>
<td>". $rows[‘address’] ."</td>
"; } ?>
</table>
<?php } ?>
<br> <br>
<a href='<?php echo base_url(); ?>index.php/member_con/topdf’><span

style=’color:green;’>Export to Pdf</span></a>
[/sourcecode]2. Simpan dengan nama member_model.php dalam folder system-application-models

F. Testing code
1. Buka http://localhost/ci_tutor/index.php/member_con. Anda akan melihat data yang ada dalam tb_member seperti gambar dibawah ini,

2. Klik link export to pdf untuk mengeksport data ke dalam file pdf.
3. Maka secara otomatis browser anda (atau download manager) akan men-download file pdf.
4. Buka file pdf, anda akan melihat data dari tb_member tertampil dalam file pdf tersebut 🙂 Lihat gambar dibawah.

Happy coding 😀