Menampilkan tabel dengan rowspan di PHP
Contoh koding untuk menampilkan tabel dengan rowspan
di PHP
Misalkan ada data berisi array seperti berikut ini
$data = array();
$data[] = array(
'fakultas' => 'Teknik',
'jurusan' => array(
array(
'kode_jurusan' => 'FT01',
'nama_jurusan' => 'Teknik Informatika',
),
array(
'kode_jurusan' => 'FT02',
'nama_jurusan' => 'Teknik Sipil',
),
array(
'kode_jurusan' => 'FT03',
'nama_jurusan' => 'Teknik Elektro',
),
),
);
$data[] = array(
'fakultas' => 'Ekonomi',
'jurusan' => array(
array(
'kode_jurusan' => 'FE01',
'nama_jurusan' => 'Ekonomi Kreatif',
),
array(
'kode_jurusan' => 'FE02',
'nama_jurusan' => 'Perbankan',
),
),
);
Contoh tabelnya menggunakan Bootstrap
<table class="table table-bordered">
<thead>
<tr>
<th>No</th>
<th>Fakultas</th>
<th>Jurusan</th>
</tr>
</thead>
<tbody>
<?php $no = 1 ?>
<?php foreach ($data as $row) : ?>
<?php $rowspan = count($row['jurusan']) ?>
<?php foreach ($row['jurusan'] as $key => $j) : ?>
<tr>
<?php if ($key == 0) : ?>
<td rowspan="<?= $rowspan ?>"><?= $no++ ?></td>
<td rowspan="<?= $rowspan ?>"><?= $row['fakultas'] ?></td>
<?php endif; ?>
<td><?= $j['kode_jurusan'] . ' - ' . $j['nama_jurusan'] ?></td>
</tr>
<?php endforeach; ?>
<?php endforeach; ?>
</tbody>
</table>
- Data di looping lalu dihitung jumlah
rowspan
nya berdasarkan jumlah data jurusan - Lalu di looping lagi untuk data jurusannya dengan tambahan
$key
jadi bisa diakses untuk variabel$key
nya - Pengkondisian
$key == 0
dilakukan untuk baris pertama saja dari data jurusan - Jadi hanya data pertama saja yang akan ditambahkan
rowspan
Hasil dari script tersebut seperti ini