我是新手程序员Codeigniter
我想显示1个月后的所有日子,并从假期日期表中给出声明(我有46个假期)。我想要假期,日期显示为红色。
我的控制器就像这样
function attendance()
{
$data = $this->page();
$data['this_month'] = date('m');
$data['this_year'] = date('Y');
$data['this_day'] = date('d');
$this_month = date('m');
$month = $this->m_date->month($this_month)->row_array();
$data['day_total'] = $month['day_total'];
$data['holiday'] = $this->m_date->holiday()->result_array();
$data['attendance']= $this->m_module->attendance()->result_array();
$data['employee']= $this->m_module->employee()->result_array();
$this->template->display($data['link'],$data);
}
这是我的观点
<?php for($m=1; $m <= $day_total; $m++){ ?>
<?php foreach ($holiday AS $date){ ?>
<?php if ($date['tgl'] === date('Y-m-d', strtotime($this_year.'-'.$this_month.'-'.$m))){
echo '<th bgcolor="red">'.$m.'</th>';
}else{
echo '<th bgcolor="">'.$m.'</th>';
} ?>
<?php } ?>
<?php } ?>
但是当我在浏览器中运行时,显示如下
请帮我解决这个问题。
谢谢。
答案 0 :(得分:1)
我更新了代码
在你的假日循环中,你在每次迭代中回显日期,尝试这样的事情:
<?php
for($m=1; $m <= $day_total; $m++){
$color ="";
foreach ($holiday AS $date){
if ($date['tgl'] === date('Y-m-d', strtotime($this_year.'-'.$this_month.'-'.$m))){
$color="red";
}
}
echo '<th bgcolor="'. $color .'">'.$m.'</th>';
}
?>