украшение стола не работает - PullRequest
0 голосов
/ 17 февраля 2012

Вот таблица представления, которую я хотел бы украсить строкой, равной isoverdeadline, равной 'yes'

<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 голосов
/ 17 февраля 2012

[strcmp] возвращает <0, если str1 меньше, чем str2; > 0, если str1 больше чем str2, и 0, если они равны.

http://php.net/strcmp

Если строки равны, возвращается 0. 0 равно false. Таким образом, условие полностью противоположно тому, что вы ожидаете.

Для значений да / нет не используйте "yes" / "no". Используйте логические значения истинности true или false.

$project_info['isOverDeadline'] = true;

if ($project_info['isOverDeadline']) ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...