Cara Membuat Rowspan Dinamis Pada Tabel Dengan PHP
Muh. Ashhar Bustan

Cara Membuat Rowspan Dinamis Pada Tabel Dengan PHP

Artikel kali ini saya akan membahas tentang bagaimana cara membuat rowspan dinamis pada tabel menggunakan PHP. Rowspan otomatis ini saya gunakan pada saat mengembangkan Aplikasi Perhitungan Jasa Pelayanan RSUD Andi Jemma Masamba. Pada aplikasi tersebut laporan hasil perhitungan jasa pelayanan saya export ke dalam bentuk excel, yang hasilnya dalam bentuk tabel.

Karena setiap pegawai bisa melakukan lebih dari satu kali pelayanan, maka saya harus menampilkan semua data pelayanan seorang pegawai dalam satu baris tabel, lebih jelasnya berikut ilustrasi tabelnya.

Baca Juga: Cara Membuat Sitemap News Google Menggunakan PHP


Nama Pegawai Jenis Pelayanan Jumlah Dibayar Tanda Tangan

Ashhar Bustan
(Anggrek)

Glaukoma 100000  
Katarak 200000
Operasi 300000

 

Tampilan tabelnya kurang lebih seperti di atas. Pada kolom Nama Pegawai dan Tanda Tangan digunakan rowspan otomatis sesuai dengan jumlah pelayanan setiap pegawai, pengambilan data dari database menggunakan perintah sql.

Baca Juga: Cara Membuat Library Template dan Memasang Template Pada Codeigniter


SELECT a.nip, a.nama_pegawai, a.id_pegawai,  b.*, c.nama_pelatihan, d.*, (SELECT COUNT(*) FROM tbl_data_pelayanan b WHERE b.id_pegawai = a.id_pegawai ) as jml_id from tbl_data_pegawai a right join tbl_data_pelayanan b on a.id_pegawai=b.id_pegawai left join tbl_master_pelatihan c on b.id_master_ruang=c.id_pelatihan left join tbl_master_screening d on b.id_master_pelayanan=d.id_screening where MONTH(date_format(str_to_date(b.tgl_pelayanan, '%d-%m-%Y'), '%Y%m%d'))='".$set_lap2['bulan']."' order by b.id_pegawai

Selanjutnya berikut script PHP untuk menampilkan data dari database seperti pada ilustrasi tabel di atas

		$tempnip=""; $no=1; $total=""; $totbayar=0;
		$tot1=0; $tot2=0; $tot3=0; $tot4=0; $ttd="";
		while($dp = mysql_fetch_array($data_pegawai))
		{
			if($tempnip != trim($dp['nip'])){ 
				if(!empty($tempnip)){
					$total="<tr>
						<td><b>Total</b></td>
						<td>&nbsp;</td>
						<td>&nbsp;</td>
						<td>&nbsp;</td>
						<td><b>".number_format($totbayar,0,'.','.')."</b></td>
						</tr>";
					$totbayar=0;
					$hitung = $dp['jml_dibayar']-($dp['jml_dibayar']*$dp['persentase']/100);
					$totbayar += $hitung;
					$ttd = "<td rowspan='".($dp['jml_id']+1)."'></td>";
				}else{
					$totbayar = $dp['jml_dibayar']-($dp['jml_dibayar']*$dp['persentase']/100);
					$ttd = "<td rowspan='".($dp['jml_id']+1)."'></td>";
				}
					
			echo $total;
			echo "<tr height='35' valign='top'>";
			echo "<td rowspan='".($dp['jml_id']+1)."'>".$no."</td>";
			echo "<td rowspan='".($dp['jml_id']+1)."'>".$dp['nama_pegawai']."<br>(".$dp['nama_pelatihan'].")</td>";
			$no++;
			
			}else{
				$hitung = $dp['jml_dibayar']-($dp['jml_dibayar']*$dp['persentase']/100);
				$totbayar += $hitung;
				$ttd="";
			} 

			echo "<td>".$dp['nama_screening']."</td>";
			echo "<td>".number_format($dp['jml_dibayar'],0,'.','.')."</td>";
		
			if ($dp['persentase']=='5'){
				echo "<td>-</td>";
				echo "<td>".number_format($dp['jml_dibayar']*$dp['persentase']/100,0,'.','.')."</td>";
				$tot3 += $dp['jml_dibayar']*$dp['persentase']/100;
			}else{
				echo "<td>".number_format($dp['jml_dibayar']*$dp['persentase']/100,0,'.','.')."</td>";
				echo "<td>-</td>"; 
				$tot2 += $dp['jml_dibayar']*$dp['persentase']/100;
			}
		
			echo "<td>".number_format(($dp['jml_dibayar']-($dp['jml_dibayar']*$dp['persentase']/100)),0,'.','.')."</td>";
			$tot4 += $dp['jml_dibayar']-($dp['jml_dibayar']*$dp['persentase']/100);
		
			echo $ttd;
			
			echo "</tr>";
	  		//echo $dp['jml_id'];
			$tempnip = $dp['nip'];
			$tot1 += $dp['jml_dibayar'];
	 	}
		//Bataa Isi Tabel
	?>

Silahkan dipelajari script di atas, kalau bingung silahkan tanya saya :) !Gratis

Baca Juga: Cara Menonaktifkan Modsecurity (modsec)


YANG LAIN:

Komentar

Cari Artikel Lainnya Disini