我根据月份和年份制作了过滤器数据。那么页面加载过滤器时的逻辑是什么,并且可以将当年设置为当前日期和月份的默认值。问题是页面加载的月份和年份尚未设置。
。 下面我使用手动的月份和年份。
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之前设置默认的月和年
答案 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
中