Postingan lainnya
Kelas Premium!
Belajar bikin website dari nol sekarang
Gunakan kupon "lebihcepat" untuk diskon 25%!
Membuat tabel data berdasarkan tanggal Menggunakan CodeIgniter
saya ingin bertanya bagaimana cara menampilkan tabel seperti gambar dibawah menggunakan data dari database ? contoh tabel yang ingin ditampilkan :
tabel poin berdasarkan nama ruangan dan tanggal(perhitungan_indikator_tb):
tabel nama ruangan(level_tb) :
saya menggunakan CodeIgniter, untuk controller.php :
public function reportKelengkapanAsesmenAwalMedis(){
$this->load->model('Menu_m');
$data['jml'] = $this->Menu_m->reportKelengkapanAsesmenAwalMedisJml();
$data['tgl'] = $this->Menu_m->reportKelengkapanAsesmenAwalMedisTgl();
$data['level'] = $this->Menu_m->reportKelengkapanAsesmenAwalMedisIdLevel();
$data['poin'] = $this->Menu_m->reportKelengkapanAsesmenAwalMedisTotalPoin();
$data['data'] = $this->Menu_m->reportKelengkapanAsesmenAwalMedis();
$this->load->view('admin/indikator/KelengkapanAsesmenAwalMedis/report',$data);
}
untuk model.php :
public function getKelengkapanAsesmenAwalMedis(){
$this->db->select('perhitungan_indikator_tb.*');
$this->db->select('level_tb.*');
$this->db->from('perhitungan_indikator_tb');
$this->db->from('level_tb');
$this->db->where('status','1');
$this->db->where('perhitungan_indikator_tb.id_level = level_tb.id_level');
$query = $this->db->get();
return $query ->result_array();
}
public function reportKelengkapanAsesmenAwalMedisJml(){
$query = $this->db->query("SELECT COUNT(DISTINCT(tanggal)) AS jml FROM perhitungan_indikator_tb WHERE status = '1'");
return $query->row_array();
}
public function reportKelengkapanAsesmenAwalMedisTotalPoin(){
$query = $this->db->query("SELECT SUM(poin) as total FROM perhitungan_indikator_tb WHERE status = '1' GROUP BY tanggal");
return $query->result_array();
}
public function reportKelengkapanAsesmenAwalMedisTgl(){
$this->db->distinct();
$this->db->select('perhitungan_indikator_tb.tanggal');
$this->db->from('perhitungan_indikator_tb');
$this->db->where('status','1');
$this->db->order_by('perhitungan_indikator_tb.tanggal','ASC');
$query = $this->db->get();
return $query->result_array();
}
public function reportKelengkapanAsesmenAwalMedisIdLevel(){
$this->db->distinct();
$this->db->select('perhitungan_indikator_tb.id_level');
$this->db->select('level_tb.id_level');
$this->db->select('level_tb.nama_level');
$this->db->from('perhitungan_indikator_tb');
$this->db->from('level_tb');
$this->db->where('level_tb.id_level = perhitungan_indikator_tb.id_level');
$this->db->where('perhitungan_indikator_tb.status', '1');
$this->db->order_by('perhitungan_indikator_tb.id_level','ASC');
$query = $this->db->get();
return $query->result_array();
}
public function reportKelengkapanAsesmenAwalMedis(){
$query = $this->db->query("SELECT DISTINCT(perhitungan_indikator_tb.tanggal) as tgl,perhitungan_indikator_tb.poin,perhitungan_indikator_tb.status,perhitungan_indikator_tb.id_level,SUM(perhitungan_indikator_tb.poin) As total, level_tb.* FROM perhitungan_indikator_tb, level_tb WHERE perhitungan_indikator_tb.status = '1' and level_tb.id_level = perhitungan_indikator_tb.id_level GROUP by perhitungan_indikator_tb.tanggal,perhitungan_indikator_tb.id_level ORDER By perhitungan_indikator_tb.tanggal ASC, perhitungan_indikator_tb.id_level ASC");
return $query ->result_array();
}
soalnya sudah saya coba, tetapi belum bisa nemukan caranya
<table class="table table-bordered table-hover" style="text-align: center">
<tr>
<th rowspan="2" style="text-align: center">No</th>
<th rowspan="2" style="text-align: center">Ruang</th>
<th colspan="<?=$jml['jml']?>" style="text-align: center">Tanggal</th>
</tr>
<tr>
<?php
$no = 1;
foreach ($tgl as $tanggal) : ?>
<td><?=date_indo($tanggal['tanggal'])?></td>
<?php endforeach ?>
</tr>
</tr>
<?php
foreach ($level as $lvl) : ?>
<tr>
<td><?=$no++?></td>
<td><?=$lvl['nama_level']?></td>
<?php
foreach ($tgl as $date) :
foreach ($data as $d) :
if($d['id_level'] == $lvl['id_level'] && $d['tgl'] == $date['tanggal']){
?>
<td><?=$d['poin']?></td>
<?php
} else{?>
<?php
}
endforeach;
endforeach; ?>
</tr>
<?php endforeach; ?>
<tr>
<th colspan="2" style="text-align: center">Total Poin</th>
<?php foreach ($poin as $r) : ?>
<td><?=$r['total']?></td>
<?php endforeach; ?>
</tr>
</table>
untuk tampilan nya sejauh ini (letak poin ruang VK tidak cocok dengan tanggal nya) :
datanya : saya banyak menggunakan query database karena tidak dapat ide untuk nampilkan tabel seperti diatas, ada yang bisa bantu ?
nb : teman teman yang ingin bantu, tidak wajib menggunakan codeigniter, menggunakan mysqli procedural juga bisa, nnti saya ubah ke format CI
Terimakasih
Tanggapan
Orang-orang tidak tahu struktur database dan cara kamu memanggil datanya seperti apa.
1 Jawaban:
Cek lapak ini yang sudha ditanyakan:
<a href=' https://sekolahkoding.com/forum/pencarian-data-berdasarkan-dua-periode-tanggal '> https://sekolahkoding.com/forum/pencarian-data-berdasarkan-dua-periode-tanggal </a> <a href=' https://sekolahkoding.com/forum/pencarian-data-berdasarkan-dua-periode-tanggal-1548306034'>Kumpulan link pertanyaan periode per tanggal</a>
Tanggapan
jika menggunakan query saya bisa gan, hanya saja menampilkan ke format tabel seperti diatas yang bikin saya mentok