餐桌装饰无法正常工作

时间:2012-02-17 02:03:28

标签: php html cakephp

这是视图的表我想装饰一行,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;
    }

出现问题,因为我看不到任何改变;我想这是造成它的时间比较。我感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

  

[strcmp]返回&lt;如果str1小于str2,则为0; &GT; 0如果str1大于str2, ,如果它们相等则为0。

     

http://php.net/strcmp

如果字符串相等,则返回00等于false。因此,条件与您​​的期望完全相反。

对于是/否值,请勿使用"yes" / "no"。使用布尔值真值truefalse

$project_info['isOverDeadline'] = true;

if ($project_info['isOverDeadline']) ...