如何设置默认过滤器的月份和年份?

时间:2018-12-17 00:37:39

标签: html codeigniter model

我根据月份和年份制作了过滤器数据。那么页面加载过滤器时的逻辑是什么,并且可以将当年设置为当前日期和月份的默认值。问题是页面加载的月份和年份尚未设置。

。 下面我使用手动的月份和年份。

function status_data($year,$month){


    $this->db->select('*');
    $this->db->select("puskesmas.id_puskesmas");
    $this->db->from('puskesmas');
    $this->db->group_by('puskesmas.nama_puskesmas');
    $this->db->join('penyakit', 'puskesmas.id_puskesmas=penyakit.id_puskesmas', 'left');




    $data= $this->db->get()->result();

    foreach ($data as $value) {
        // var_dump($value);die();


        $query = $this->db->query("SELECT *, `puskesmas`.`id_puskesmas` FROM `penyakit` LEFT JOIN puskesmas ON penyakit.id_puskesmas=puskesmas.id_puskesmas WHERE YEAR(waktu_upload) = '$year' AND MONTH(waktu_upload) = '$month' 
            AND penyakit.id_puskesmas=".$value->id_puskesmas);




        $num = $query->num_rows();

         $value->num = $num;
        if($num < 19 ){
            $value->status = "<button type='button' class='btn btn-danger btn-rounded'> Uncomplete</button>";
        }else{
            $value->status = "<button type='button' class='btn btn-success btn-rounded'> Complete </button>";
        }

    }
    //die(print_r($data));
    return $data;
}

如果我未设置本月和年,则此输出将出错,如何在我们提交此帖子$ month和$ year之前设置默认的月和年

1 个答案:

答案 0 :(得分:0)

function status_data($year,$month){


    $this->db->select('*');
    $this->db->select("puskesmas.id_puskesmas");
    $this->db->from('puskesmas');
    $this->db->group_by('puskesmas.nama_puskesmas');
    $this->db->join('penyakit', 'puskesmas.id_puskesmas=penyakit.id_puskesmas', 'left');




    $data= $this->db->get()->result();

    foreach ($data as $value) {
        // var_dump($value);die();


        $query = $this->db->query("SELECT *, `puskesmas`.`id_puskesmas` FROM `penyakit` LEFT JOIN puskesmas ON penyakit.id_puskesmas=puskesmas.id_puskesmas WHERE YEAR(waktu_upload) = '".$year."' AND MONTH(waktu_upload) = '".$month."' 
        AND penyakit.id_puskesmas=".$value->id_puskesmas);




        $num = $query->num_rows();

        $value->num = $num;
        if($num < 19 ){
            $value->status = "<button type='button' class='btn btn-danger btn-rounded'> Uncomplete</button>";
        }else{
            $value->status = "<button type='button' class='btn btn-success btn-rounded'> Complete </button>";
        }
    }

}
//die(print_r($data));    

if (!isset($month) or !isset($year)) {
    $now = new DateTime();
    $month = $now->format("n");
    $year = $now->format("Y");
}

status_data($year, $month);

DateTime的格式方法已记录在here