获取月份和年份 - > db->在codeigniter上

时间:2016-03-24 09:00:31

标签: php mysql codeigniter codeigniter-3

在我的项目中仍然存在问题。我自己以前的帖子,但没有答案。我想调用数据POST结果的mysql数据库的年份和月份。

这是我的控制器

public function report(){
$nomor = $this->input->post('nomor_reseller');
$bulan = $this->input->post('month'); // YYYY-MM

$report_data = $this->hasil_m->get_data($nomor, $bulan );
}

如果仅调用她工作的月份,但是如果我输入年份和月份不起作用

这是我的模特

function get_data($nomor,$bulan) {
    $this->db->select('*');
    $this->db->from('tb_pelanggan as pel');
    $this->db->join('tb_produk as pro', 'pel.id_barcode  = pro.id_barcode');    
    $this->db->select_sum('jumlah');
    $this->db->where('MONTH(pel.tgl_pembelian)',$bulan);
    $this->db->group_by('pel.id_barcode');
    $query = $this->db->get();
    if ($query->num_rows() > 0) {
        return $query->result();
        } else {
        return false;
    }
}   

2 个答案:

答案 0 :(得分:2)

为什么不使用DATE_FORMAT而不是YEAR和MONTH

->where("DATE_FORMAT(column_name,'%Y-%m')", $bulan)

答案 1 :(得分:0)

首先是你的控制器

public function report(){
$nomor = $this->input->post('nomor_reseller');
$bulan = $this->input->post('month'); // MM
$tahun = $this->input->post('year'); // YYYY

$report_data = $this->hasil_m->get_data($nomor, $bulan, $tahun );
}

和你的模特

function get_data($nomor,$bulan,$tahun) {
    $this->db->select('*');
    $this->db->from('tb_pelanggan as pel');
    $this->db->join('tb_produk as pro', 'pel.id_barcode  = pro.id_barcode');    
    $this->db->select_sum('jumlah');
    $this->db->where('MONTH(pel.tgl_pembelian)',$bulan);
    $this->db->where('YEAR(pel.tgl_pembelian)',$tahun);
    $this->db->group_by('pel.id_barcode');
    $query = $this->db->get();
    if ($query->num_rows() > 0) {
        return $query->result();
        } else {
        return false;
    }
}