Postingan lainnya
Memperlihatkan satu value hasil inner join
Saya mempunyai tiga tabel, absensi, karyawan, dan divisi
Berikut ini adalah model yang saya punya, untuk melakukan inner join dari tiga tabel tersebut:
function lihatData($divisi)
{
$this->db->select('absenfinal.kode_karyawan, absenfinal.nama_karyawan,divisi.nama_divisi,absenfinal.tgl_absen,absenfinal.jam_masuk, absenfinal.jam_pulang');
$this->db->from('absenfinal');
$this->db->join('karyawan', 'karyawan.kode_karyawan = absenfinal.kode_karyawan');
$this->db->join('divisi', 'karyawan.id_divisi = divisi.id_divisi');
$this->db->where_in('divisi.id_divisi',$divisi);
return $this->db->get()->result();
}
Dan ini adalah view untuk memanggil hasil dari inner join tersebut:
<div class="table">
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th><center>No</center></th>
<th><center>Kode Karyawan</center></th>
<th><center>Nama</center></th>
<th><center>Divisi</center></th>
<th><center>Tanggal</center></th>
<th><center>Jam Datang</center></th>
<th><center>Jam Pulang</center></th>
</tr>
</thead>
<tbody>
<?php
$no = 1;
if(is_array($data)){
foreach($data as $row){
?>
<tr>
<td><?php echo $no++;?></td>
<td><?php echo $row->kode_karyawan; ?></td>
<td><?php echo $row->nama_karyawan; ?></td>
<td><?php echo $row->nama_divisi; ?></td>
<td><?php echo date("d-m-Y", strtotime($row->tgl_absen))?></td>
<td><?php echo $row->jam_masuk; ?></td>
<td><?php echo $row->jam_pulang; ?></td>
</tr>
<?php } }?>
</tbody>
</table>
Hasilnya kurang lebih seperti ini:
-------------------------------------------------------------------------------------
| kode karyawan | nama | divisi | tanggal | jam datang | jam pulang |
| RIN | RINA | HRD | 01.01.2001 | 08.00 | 20.00 |
| KRS | KRIS | HRD | 01.01.2001 | 08.00 | 20.00 |
-------------------------------------------------------------------------------------
Saya sudah berhasil melakukan inner join antara tiga tabel tersebut sehingga menghasilkan seperti tampilan diatas,
tetapi adakah cara supaya tampilannya bisa diubah menjadi seperti ini:
DIVISI: HRD
------------------------------------------------------------------------
| kode karyawan | nama | tanggal | jam datang | jam pulang |
| RIN | RINA | 01.01.2001 | 08.00 | 20.00 |
| KRS | KRIS | 01.01.2001 | 08.00 | 20.00 |
------------------------------------------------------------------------
Divisi berada diluar tabel atau menjadi tabel header, dengan memanggil nama divisi hasil dari inner join tersebut
0