Postingan lainnya
Menampilkan datatabel codeigniter
Selamat pagi, saya sedang membuat sebuah project dengan mnggunakn CI. nah, memiliki kendala untuk rekap data per bulannya. contoh datatable yang akan di tampilkan seperti ini :
sdh berhasil di tampilkan seperti ini :
Yang menjadi pertanyaan bagaimana cara menampilkan kolom target transaksi jan, kolom total jan, kolom s.d Feb (total jan+total feb), kolom selisih (total jan+total feb - target transaksi jan - target transaksi feb )
*jika ini bulan maret jadi yang akan di buat di kolom target transaksi jan adalah target transaksi jan + target transaksi feb. *di kolom total jan adalah total jan+total feb *di kolom s.d feb adalah total jan+total feb+total maret *di kolom selisih adalah kolom s.d - target transaksi jan - target transaksi feb - target transaksi maret.
berikut modelnya :
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class ModelLihatPerBulan extends CI_Model{
public function lihatdataperbulan($tanggal_awal, $tanggal_akhir)
{
$sql = 'SELECT *, sum(a.jumlah_pegawai) as jumlah_pegawai, sum(a.target_transaksi) as target_transaksi, sum(a.p_kreasi) as p_kreasi, sum(a.p_krasida) as p_krasida, sum(a.p_mulia) as p_mulia, sum(a.p_amanah) as p_amanah, sum(a.p_tabungan_emas) as p_tabungan_emas, sum(a.p_top_up_TE) as p_top_up_TE, sum(a.p_arrum_haji) as p_arrum_haji, sum(a.p_rahn_tasjili) as p_rahn_tasjili, sum(a.p_pds) as p_pds, sum(a.p_jumlah) as p_jumlah, sum(p_selisih) as p_selisih
FROM tabel_hasilperhari a
RIGHT JOIN tabel_cabang b
ON a.id_cabang = b.id_cabang
RIGHT JOIN tabel_unit c
ON a.id_unit = c.id_unit
RIGHT JOIN tabel_cabang d
ON c.id_cabang_fk = d.id_cabang
WHERE (tanggal BETWEEN ? AND ?)
GROUP BY c.id_unit;';
$bind = array($tanggal_awal, $tanggal_akhir);
$result = $this->db->query($sql, $bind);
if($result->num_rows() > 0) return $result->result_array();
else return FALSE;
}
public function lihatperbulan($data)
{
if($this->db->SELECT('tabel_hasilperhari', $data)) return TRUE;
else return FALSE;
}
}
berikut controllernya :
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Laporanperbulan extends CI_Controller {
public function index()
{ $this->load->view('template/header');
$this->load->view('Laporanlihatdataperbulan');
$this->load->view('template/footer');
}
public function __construct()
{
parent::__construct();
$this->load->model('ModelLihatPerBulan');
}
function lihatperbulan()
{
$tanggal_awal = $this->input->post('tanggal_awal');
$tanggal_akhir = $this->input->post('tanggal_akhir');
$data['lihatdata'] = $this->ModelLihatPerBulan->Lihatdataperbulan($tanggal_awal, $tanggal_akhir);
$this->load->view('template/header');
$this->load->view('tabelperbulan', $data);
$this->load->view('template/footer');
}
}
untuk tabelnya :
<div class="x_content">
<div style="overflow-x:scroll;">
<table class="table align=center table-striped table-bordered dt nowrap" cellspacing="0" width="100%">
<thead>
<tr>
<tr>
<th>No</th>
<!-- <th>Tanggal</th> -->
<!-- <th>ID Unit</th> -->
<th>Nama Unit</th>
<th>Nama Cabang</th>
<th>Jumlah Pegawai</th>
<th>Target Transaksi</th>
<th>Kreasi</th>
<th>Krasida</th>
<th>Mulia</th>
<th>Amanah</th>
<th>Tabungan Emas</th>
<th>Top UP Tabungan Emas</th>
<th>Arrum Haji</th>
<th>Rahn Tasjili</th>
<th>PDS</th>
<th>Jumlah</th>
<th>Selisih</th>
<!-- <th>j_peg</th> -->
</tr>
</thead>
<tbody>
<?php $no = 0; ?>
<?php if(!empty($lihatdata)) :?>
<?php foreach($lihatdata as $lihat){
?>
<tr>
<td><?php $no++; echo $no; ?></td>
<!-- <td><?php echo $lihat['tanggal']; ?></td> -->
<!-- <td><?php echo $lihat['id_unit']; ?></td> -->
<td><?php echo $lihat['nama_unit']; ?></td>
<td><?php echo $lihat['nama_cabang']; ?></td>
<td><?php echo $lihat['jumlah_pegawai']; ?></td>
<td><?php echo $lihat['target_transaksi']; ?></td>
<td><?php echo $lihat['p_kreasi']; ?></td>
<td><?php echo $lihat['p_krasida']; ?></td>
<td><?php echo $lihat['p_mulia']; ?></td>
<td><?php echo $lihat['p_amanah']; ?></td>
<td><?php echo $lihat['p_tabungan_emas']; ?></td>
<td><?php echo $lihat['p_top_up_TE']; ?></td>
<td><?php echo $lihat['p_arrum_haji']; ?></td>
<td><?php echo $lihat['p_rahn_tasjili']; ?></td>
<td><?php echo $lihat['p_pds']; ?></td>
<td><?php echo $lihat['p_jumlah']; ?></td>
<td><?php echo $lihat['p_selisih']; ?></td>
</tr>
<?php } ?>
<?php endif ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="clearfix"></div>
</div>
</div>
<script src="<?php echo base_url();?>assets/gentelella/vendors/datatables.net/js/jquery.dataTables.min.js"></script>
<script src="<?php echo base_url();?>assets/gentelella/vendors/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
tabel: mohon bantuannya, maaf masih newbie. terima kasih..
Tanggapan
Itu struktur tablenya bagaimana? + codingnya jangan dibikin gambar ya, susah ngetesnya.
1 Jawaban:
mungkin bisa pake join select, jadi agan buat select untuk cari total 3 bln tsb group by idunit. lalu di joinkan dengan tabel yg sudah ada diquery. step awal coba cari total 3 bln tsb per idunit berdasarkan periode yg dipilih. kalo sudah ketemu baru gabung dengan query yg sudah jadi
Tanggapan
akan dicoba. terima kasih..