Postingan lainnya
Filter bulan dan tahun di codeigniter tidak sesuai
script controllernya seperti ini
public function index()
{
$data['bulan'] = array('01' => 'January', '02' => 'February', '03' => 'March', '04' => 'April', '05' => 'May', '06' => 'June', '07' => 'July', '08' => 'August', '09' => 'September', '10' => 'October', '11' => 'November', '12' => 'December');
$data['option_tahun'] = $this->m_packing->option_tahun();
$data['title'] = "Filter";
$data['region'] = $this->m_region->get_data_filter('region')->result();
$data['country'] = $this->m_country->get_data_filter('country')->result();
$data['customer'] = $this->m_customer->get_data_filter('customer')->result();
$adata = array();
if ( $this->input->get('bulan') <> '') {
$adata['MONTH(tanggal)'] = $this->input->get('bulan');
}
if ( $this->input->get('option_tahun') <> '') {
$adata['YEAR(tanggal)'] = $this->input->get('option_tahun');
}
if ( $this->input->get('customer') <> '') {
$adata['buyer'] = $this->input->get('customer');
}
$data['exp'] = $this->m_packing->get_data('exp', $adata);
// Load view dan kirim data
$this->load->view('packing/dashboard', $data);
}
0
Tanggapan
Halo jangan cuma perlihatan kode ya. Dijelaskan: apa yang kamu mau dan apa yang sekarang terjadi dengan kode yang ada
jadi saya mau menampilkan data berdasarkan filtert periode bulan dan tahun sebelumnya, data yang tampil di tabel index berdasarkan tahun sekarang (2024), setelah saya coba load data berdasarkan filter bulan dan tahun tersebut tidak muncul dan tetap tabelnya berdasarkan tahun sekarang?
1 Jawaban:
public function index()
{
$data['bulan'] = array('01' => 'January', '02' => 'February', '03' => 'March', '04' => 'April', '05' => 'May', '06' => 'June', '07' => 'July', '08' => 'August', '09' => 'September', '10' => 'October', '11' => 'November', '12' => 'December');
$data['option_tahun'] = $this->m_packing->option_tahun();
$data['title'] = "Filter";
$data['region'] = $this->m_region->get_data_filter('region')->result();
$data['country'] = $this->m_country->get_data_filter('country')->result();
$data['customer'] = $this->m_customer->get_data_filter('customer')->result();
$bulan = (int) $this->input->get('bulan');
$tahun = (int) $this->input->get('option_tahun');
if (!empty($bulan) && $bulan < 1 || $bulan > 12) {
// Tampilkan pesan error bulan tidak valid
return;
}
if (!empty($tahun) && !is_numeric($tahun)) {
// Tampilkan pesan error tahun tidak valid
return;
}
$where = array();
if (!empty($bulan)) {
$where['MONTH(tanggal)'] = $bulan;
}
if (!empty($tahun)) {
$where['YEAR(tanggal)'] = $tahun;
}
$data['exp'] = $this->m_packing->get_data('exp', $where);
// Load view dan kirim data
$this->load->view('packing/dashboard', $data);
}
Perubahan ini memastikan nilai filter diproses dengan benar, WHERE clause dibuat dengan tepat, dan data diambil dengan filter yang diterapkan.
0