November 25, 2016 thumb Cara Membalik Kolom jadi Baris di Database Menggunakan PHP Excel

salam, kali ini saya ingin berbagi sedikit trik tentang bagaimana caranya membalik kolom yang ada di table database menjadi sebuah baris. sebenarnya ini adalah permintaan seorang pembaca yang mungkin bingung bagaimana cara mebalik kolom jadi baris dan baris menjadi kolom. hm.. untuk kebuthan laporan sepertinya.

oke langsung saja seperti biasa, taruhlah saya punya database sebagai berikut ini :

Database Asal

Database Asal

sedangkan untuk tampilan hasil akhir yang diinginkan adalah sebagai berikut ini. yang mana setiap dari kolom akan menjadi baris dan yang bagian baris akan menjadi kolom pada area konten. untuk header akan tetap kita buat, hanya bagian kontenya saja yang akan kita balik sedemikian rupa menyesuaikan kebutuhan laporan.

Beginilah Tampilan Yang di inginkan, yang mana kolom menjadi baris dan baris menjadi kolom.

Beginilah Tampilan Yang di inginkan, yang mana kolom menjadi baris dan baris menjadi kolom.

sebenarnya cara untuk melakukanya sangat mudah kita cukup mengakali pada bagian penulisanya saja. kalau biasanya kita menuliskan dengan mengubah perdigit kolomnya kali ini kita akan menuliskanya dengan mengubah bagian barisnya. berikut ini adalah source code untuk menuliskan baris menjadi kolom.

pertama yang harus kita ubah adalah Header untuk Penulisan Datanya, yakni Nama , Alamat , Ibu, Ayah dan Hobi. yang asalnya ditulis horizontal menjadi vertical.

/*start - BLOCK HEADER*/
	/* menambahkan baris khusus untuk Judul Header pada Sheet
	 * melakukan Merge Cell untuk A1 sampai E1*/
	$sheet	->mergeCells('A1:E1');
	$sheet	->setCellValue ( "A1", "KELUARGA BESAR SEDAYU LAWAS" );
	
	/* bagian sini diubah menjadi baris kedua 
	 * karena baris pertama telah dipakai untuk judul
	 * */
	/*$sheet	->setCellValue ( "A2", "Nama" )
			->setCellValue ( "B2", "Alamat" )
			->setCellValue ( "C2", "Ayah" )
			->setCellValue ( "D2", "Ibu" )
			->setCellValue ( "E2", "Hobi" );*/
	
	/* BLOK HEADER DIUBAH AGAR MENURUN PADA SATU KOLOM */
	$sheet	->setCellValue ( "A2", "Nama" )
			->setCellValue ( "A3", "Alamat" )
			->setCellValue ( "A4", "Ayah" )
			->setCellValue ( "A5", "Ibu" )
			->setCellValue ( "A6", "Hobi" );
	
/*end - BLOCK HEADER*/

kemudian untuk menampilkan datanya, kita juga ubah pada bagian untuk pengisian datanya. untuk itu kita butuh sebuah array yang mana menyimpan variable dari A, B, C , D, E, dst. yang mana akan di loop setiap kali perubahan baris terjadi. sehingga perbedaanya hanya terletak pada bagian mana yang di loop, kalau biasanya di melakukan increment untuk baris, kali ini kita melakukan increment untuk kolom sedangkan barisnya pasti paten, yakni baris 2,3,4,5 dan 6.

/* start - BLOCK MEMASUKAN DATABASE*/
	//ganti dengan database anda
	$link = mysqli_connect("localhost", "root", "12345", "goblooge"); 
	$result=mysqli_query($link,"SELECT * FROM keluarga");
	/*nama kolom kita simpan dalam sebuah array karena nantinya dia akan di loop untuk menuliskan data*/
	$NAMA_KOLOM=array("A","B","C","D","E","F","G","H","I");
	$nomor_kolom=0; /*karena yang dipakai B, maka dimulai dari B*/
	
	while($row=mysqli_fetch_array($result)){
		$nomor_kolom++;
		$nkolom=$NAMA_KOLOM[$nomor_kolom];
		
				
		$sheet ->setCellValue  ( $nkolom."2", $row["nama"] )
				->setCellValue ( $nkolom."3", $row["alamat"] )
				->setCellValue ( $nkolom."4", $row["ayah"] )
				->setCellValue ( $nkolom."5", $row["ibu"] )
				->setCellValue ( $nkolom."6", $row["hobi"] );
				
		/*ini kode yang lama perhatikan perbedaanya
		  $sheet->setCellValue ( "A".$nomor, $row["nama"] )
				->setCellValue ( "B".$nomor, $row["alamat"] )
				->setCellValue ( "C".$nomor, $row["ayah"] )
				->setCellValue ( "D".$nomor, $row["ibu"] )
				->setCellValue ( "E".$nomor, $row["hobi"] );*/
		
		
	}
/* end - BLOCK MEMASUKAN DATABASE*/

oke demikian yang bisa saya sharing. kalau ada pertanyaan bolehlah kasih komentar, kalau ada yang salah silakan dikoreksi. untuk yang kemarin minta, kesaya semoga bisa menjadi bahan ajar dan bermanfaat. untuk source code lengkap dapat di download di DropBox atau Google Drive. kalau link download KO silakan kontak saya. sampai jumpa pada tulisan berikutnya, Okey Donkey dan Salam Goblooge.

Comments

total comments