Export data MySQL multiple table ke Excel Dengan PHP

Kadang, ada kalanya dalam membuat suatu aplikasi dibutuhkan suatu rekap data dalam bentuk excel, dan ada kalanya juga data yang di simpan di dalam beberapa tabel di database perlu transfer lagi ke tabel yang lain seperti kasus yang saya temui pada sebuah kampus di kota padang, kasus : pada kampus tersebut, baru saja di terapkan Sistem Penerimaan mahasiswa baru secara online, otomatis mahasiswa-mahasiswa akan mengisikan data-data atau identitas lengkapnya pada formulir pendafataran. dan setelah mahasiswa tersebut lulus dari pmb, pastinya si mahasiswa akan di daftarkan lagi di sistem informasi akademik pada kampus, jadi untuk menghindari input data lagi, maka perlu di buat fitur export dan import data dari pmb ke sistem informasi akademik.

oke, tanpa bicara panjang lebar lagi, mari kita langsung saja ke coding nya, cekidott :

<?php
mysql_connect("localhost","root","");
mysql_select_db("pmb_eksport");

$select = "SELECT pmb.kodereg, password, npassword, pmb.tahun165, pmb.nama, kelamin, tempatlahir, tanggallahir, 
				  agama, alamat, kota, rt, rw, kodepos, propinsi, email, foto 
					FROM pmb
						left join pmbform_jurusan on pmb.kodereg=pmbform_jurusan.kodereg 
							left join pmbreg on pmb.kodereg=pmbreg.kodereg where pmbform_jurusan.status='1'";

$export = mysql_query ( $select ) 
       or die ( "Sql error : " . mysql_error( ) );
$fields = mysql_num_fields ( $export );

for ( $i = 0; $i < $fields; $i++ ) {
	$header .= mysql_field_name( $export , $i ) . ",";
}

while( $row = mysql_fetch_row( $export ) ) {
	$line = '';
	foreach( $row as $value ) {
		if ( ( !isset( $value ) ) || ( $value == "" ) ){
			$value = ",";
		}
		else {
			$value = str_replace( '"' , '""' , $value );
			$value = '"' . $value . '"' . ",";
		}
		$line .= $value;
	}
	$data .= trim( $line ) . "\n";
}
$data = str_replace( "\r" , "" , $data );

header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header( "Content-disposition: filename=report.csv");
print "$header\n$data";
exit;

Sekian dulu artikel untuk saat ini, sampai jumpa lagi di artikel selanjutnya, semoga bermanfaat, dan jika ada pertanyaan sialahkan di sampaikan melalui form komentar di bawah. CMIIW… 🙂

Add a Comment

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *