这是视图的表我想装饰一行,isoverdeadline等于'是'
<tr <?php
if(strcmp($isoverdeadline,'yes'))
{
echo ' style:"background-color:#CC3300"';
}
?>
>
<td width="250" <?php
if(strcmp($isoverdeadline,'yes'))
{
echo ' style:"background-color:#fff"';
}
?>
><?php echo $projectname; ?> </td>
<td width="70"<?php
if(strcmp($isoverdeadline,'yes'))
{
echo ' style:"background-color:#CC3300"';
}
?>
><?php echo $ticketid; ?></td>
<td <?php
if(strcmp($isoverdeadline,'yes'))
{
echo ' style:"background-color:#fff"';
}
?>
><?php echo $subject; ?></td>
<td<?php
if(strcmp($isoverdeadline,'yes'))
{
echo ' style:"background-color:#fff"';
}
?>
><?php echo $startdate; ?></td>
<td<?php
if(strcmp($isoverdeadline,'yes'))
{
echo ' style:"background-color:#fff"';
}
?>><?php echo $deadline; ?></td>
</tr>
以下是控制器中代码的一部分,其中project_info数组将设置为在视图中显示。
if($this->is_proj_due($project_info['deadline'])<0) //deadline is over
{
$project_info['isoverdeadline']='yes';
}
else
{
$project_info['isoverdeadline']='no';
}
return $project_info;
function is_proj_due($due_date)
{
$now=new DateTime('now');
$dnow=$now->format('Y-m-d');
$due=$due_date->format('Y-m-d');
$interval =(strtotime($dnow)-strtotime($due));
print_r($interval);
return $interval;
}
出现问题,因为我看不到任何改变;我想这是造成它的时间比较。我感谢任何帮助。
答案 0 :(得分:0)
[
strcmp
]返回&lt;如果str1小于str2,则为0; &GT; 0如果str1大于str2, ,如果它们相等则为0。
如果字符串相等,则返回0
。 0
等于false
。因此,条件与您的期望完全相反。
对于是/否值,请勿使用"yes"
/ "no"
。使用布尔值真值true
或false
。
$project_info['isOverDeadline'] = true;
if ($project_info['isOverDeadline']) ...