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 :D

C. Membuat model
1. Ketikkan script berikut ini,

<?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;
	}
}
?>

2. Simpan dengan nama member_model.php dalam folder system-application-models

D. Membuat Controller
1. Ketikkan script berikut ini,

<?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();
	}
}
?>

2. Simpan dengan nama member_model.php dalam folder system-application-models

E. Membuat View
1. Ketikkan script berikut ini,

<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>

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 :D
Hal yang juga menarik:

Hak Cipta

Semua skrip dan teknik dalam artikel di itx.web.id boleh digunakan sebagaimana kehendakmu tanpa perlu mencantumkan sumber. Kamu tidak boleh mengkopi seluruh artikel, dalam Bahasa Indonesia ataupun diterjemahkan ke dalam bahasa lain.

Pencarian ke sini:

This post is also available in: English


Related Articles:

: PHP

About the author

obviously, a girl. with sweet smile, off course. turning her 21 years trapped on Informatics departement and just started to having some crush with it lately. she uses wordpress. she loves php. she lo

16 Comments

  • joni says:

    keren tutorialnya mas…..tapi kalo mau menampilkan datanya per baris gmn mas?nanti dari field tsb bisa dipakai secara terpisah satu persatu..bisa ga kayak gt mas…mohon pencerahannya ya
    terima kasih…

  • ardian says:

    (worship) thank tutorial nya

  • denis says:

    saya punya error seperti ini mas :

    Fatal error: Class ‘Cpdf’ not found in C:\xampp\htdocs\lms\system\libraries\cezpdf.php on line 5

    knp ya?

    trims

  • ardian says:

    denis => coba ini.

    Ganti nama file class.ezpdf.php menjadi cezpdf.php agar lebih mudah.
    Lalu modifikasi pad file cezpdf.php pada statement include di baris 3 menjadi seperti ini :

    include_once(APPPATH.’libraries/class.pdf.php’);

    jangan lupa copy kan dulu file cezpdf.php dan class.pdf.php ke folder system/aplication/libraries dan pdf_helper.php ke system/aplication/helper…
    selamat mencoba…

  • maftuh says:

    A PHP Error was encountered

    Severity: Warning

    Message: date() [function.date]: It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Krasnoyarsk’ for ’7.0/no DST’ instead

    Filename: libraries/class.pdf.php

    Line Number: 689

    A PHP Error was encountered

    Severity: Warning

    Message: date() [function.date]: It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Krasnoyarsk’ for ’7.0/no DST’ instead

    Filename: helpers/pdf_helper.php

    Line Number: 24

    A PHP Error was encountered

    Severity: Notice

    Message: Undefined index:

    Filename: libraries/class.pdf.php

    Line Number: 1631

  • santoso says:

    Makasih gan tutorilanya.. sangat bermanfaat

    Untuk Mahfud yg masih ada error.
    Coba copy-kan folder fonts ke root direktori CodeIgniter (folder fonts berada satu dg folder system),
    dan pdf_helper.php ke system/aplication/helper

    :-D

  • Eric Winslet says:

    saat saya coba buka url ini

    http://localhost/www/CodeIgniter/index.php/member_con

    kug gini ya? salahnya apa ya?

    Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\htdocs\www\CodeIgniter\system\codeigniter\Common.php on line 130

    Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\htdocs\www\CodeIgniter\system\codeigniter\Common.php on line 136
    A PHP Error was encountered

    Severity: 8192

    Message: Function set_magic_quotes_runtime() is deprecated

    Filename: codeigniter/CodeIgniter.php

    Line Number: 60

    The URI you submitted has disallowed characters.

  • lutfia says:

    kok muncul error seperti ini ?
    “Cannot use object of type stdClass as array in C:\wamp\www\Intranet\application\libraries\cezpdf.php on line 695″

  • akangteo says:

    maaf masih newbiew euy…..
    proses berjalan lancar….Tp ko hasil pdf nya tidak menampilkan data…..
    Mohon pencerahan…. :-P
    terima kasih ini sngat membantu….
    mudah2n Tuhan membalas,,,,,

  • akangteo says:

    setelah di perbaiki dia berhasil proses namun saat di pdf dia memberikan peringatan seperti ini….
    ” Format error:not a pdf a corrupted.” PERINGATAN
    mohon pencerahan……..

  • tady says:

    Semua coding diatas dinamakan dengan member_model.php, bagaimana bisa, ya ketimpa. ni gmn tutorialnya ga jelas

  • agus says:

    ko muncul error seperti ini yah. .
    Fatal error: Cannot use object of type stdClass as array in C:\xampp\htdocs\foxpro\system\libraries\cezpdf.php on line 695

  • oviens says:

    ni tutorial cacad amat..?

  • agung says:

    mas klo nampilkan 2 tabel di pdf gimana y mas

  • duh , saya agak bingung mas,,,,mau coba di pelajari dulu

  • mitha says:

    makasih banyak:)

Leave a Reply

Your email address will not be published. Required fields are marked *